以下代码(采取from here):

int* ptr = int();

在Visual C++中进行编译,并对值进行初始化。

那怎么可能?我的意思是int()产生int类型的对象,并且我无法将int分配给指针。

上面的代码如何不违法?

最佳答案

int()是值为0的常量表达式,因此它是产生空指针常量的有效方法。最终,这只是int *ptr = NULL;的表达方式略有不同

关于c++ - “int* ptr = int()”值初始化如何非法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8067897/

10-09 06:01
查看更多