相关疑难解决方法(0)

带空括号的默认构造函数

有没有什么好的理由在C++中调用默认构造函数时,一组空的圆括号(括号)无效?

MyObject  object;  // ok - default ctor
MyObject  object(blah); // ok

MyObject  object();  // error
Run Code Online (Sandbox Code Playgroud)

我似乎每次都自动输入"()".是不是有一个很好的理由不允许这样做?

c++ constructor c++-faq default-constructor most-vexing-parse

192
推荐指数
8
解决办法
3万
查看次数

使用括号还是不使用括号实例化类?

#include <iostream>
using namespace std;

class CTest 
{
    int x;

  public:
    CTest()
    { 
       x = 3;
       cout << "A"; 
    }
};

int main () {
  CTest t1;
  CTest t2();

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

CTest t1当然会打印"A".

但似乎没有任何事情发生在t2(),但代码运行良好.

那么我们在没有参数的情况下使用这些括号吗?或者为什么我们这样使用呢?

c++ constructor

7
推荐指数
1
解决办法
1万
查看次数