我写了一个结构是这样的...在C++ 11结构构造函数名的优先
struct StackOverflow
{
int x;
StackOverflow(){}
StackOverflow(int x) { x = x; }
};
我知道我应该写后者构造函数StackOverflow(int x) : x(x) {}
但我很高兴,我在此没有案例,因为我学到了一些东西:
C++ 11编译器没有做正确的事与语句{x = x;}
。逸岸,结构体成员x
甚至没有初始化(它有随机值,当我调试为什么我申请失败)。我没有收到编译器警告。
不应该有这样的工作?
看起来像一个'this'丢失。 – Hogan
编译器绝对_did权thing_。但是,你没有。 –