1
在VS2012的物体上使用VS2012,下面的代码无法编译,它说 error C4700: uninitialized local variable 'a' used
上线A<int> b(a);
我在gcc4.4.7测试它,它的罚款。未初始化的局部变量“一个”模板类
我以为阻止编译器生成默认构造函数的东西,但它似乎只是VS2012的问题。为什么它会给出这个错误,关于编译器如何处理代码的任何解释?
template<typename T>
class A
{
public:
T* p;
};
int main()
{
A<int> a;
A<int> b(a);
}
'a.p'未初始化。原始指针的默认构造函数是将其保留为未初始化状态。 –