Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 定义内联默认构造函数C++;_C++ - Fatal编程技术网

C++ 定义内联默认构造函数C++;

C++ 定义内联默认构造函数C++;,c++,C++,我相信这是正确调用两个默认构造函数的方法,但是VisualStudio给了我错误。这段代码怎么了?一个构造函数确实是默认的构造函数。然而,另一个“构造函数”必然更多地作为析构函数进行操作,因为它通常会访问不可访问的内存,而这又通常会导致程序“崩溃”。您应该查找“成员初始值设定项列表”。这将编译。它与您的程序有什么不同 public: A(); A(int B){*C = B - 1;}; private: int *C; 错误是什么?你不应该有一个。您的错误是什么?如果你想让

我相信这是正确调用两个默认构造函数的方法,但是VisualStudio给了我错误。这段代码怎么了?

一个构造函数确实是默认的构造函数。然而,另一个“构造函数”必然更多地作为析构函数进行操作,因为它通常会访问不可访问的内存,而这又通常会导致程序“崩溃”。您应该查找“成员初始值设定项列表”。

这将编译。它与您的程序有什么不同

public:
A();         
A(int B){*C = B - 1;};
private:
int *C;

错误是什么?你不应该有一个
}
之后的code>。您的错误是什么?如果你想让我们帮你,你就得说得更具体些。加上{}在不带参数的构造函数旁边添加{},因为它没有定义。请发布完整的最小程序及其产生的错误消息。
class A {
public:
  A() {} // Define (not merely declare) default constructor
  A(int B) { C = B - 1; } // Note: don't use uninitialized pointer
private:
  int C; // Note: not a pointer
};