2
可能重复:
Do the parentheses after the type name make a difference with new?C/C++中`new`和`new()`结构有什么区别?
在一些代码,我最近看到一个像这样的结构:
typedef struct MyStruct {
int numberOne;
int numberTwo;
} MYSTRUCT;
后来,我尝试实例化使用
这些结构的一个MyStruct *pStruct = new MyStruct();
与Visual Studio 2010一起工作良好,但在另一个编译器上出现模糊的链接器错误。花了一段时间,直到我们发现省略了这样的大括号
MyStruct *pStruct = new MyStruct;
解决了这个问题。
那么,这两个调用之间的区别究竟是什么,哪一个是正确的?
我认为你有一个多余的typedef(或typedef缺少的名称),`new`返回一个指针而不是一个对象。 – 2010-12-02 11:46:24