djk*_*h11 5 c++ constructor c++11
为什么这段代码不正确?
class Method
{
public:
Method(decltype(info2) info1);
virtual ~Method(){}
protected:
QSharedPointer<info> info2;
};
Run Code Online (Sandbox Code Playgroud)
但是这段代码是正确的:
class Method
{
public:
virtual ~Method(){}
protected:
QSharedPointer<info> info2;
public:
Method(decltype(info2) info1);
};
Run Code Online (Sandbox Code Playgroud)
为什么类构造函数的位置很重要?我认为定义类构造函数的位置并不重要.
小智 0
QSharedPointer info2的位置;
很重要。'info2' 应在将其用于 decltype 之前定义(http://en.cppreference.com/w/cpp/language/decltype)。
接下来也不起作用:
void f() {
d();
}
void d() {
}
Run Code Online (Sandbox Code Playgroud)