我想在另一个实例中有一个类的实例。如果我在主程序中创建对象,一切都很好。如果我删除第13行前面的评论,则会收到消息

g++ MyMWE.cpp
MyMWE.cpp:13:14: error: expected identifier before string constant
   delay1 DTT("DELAY1", 6);
              ^


如果我在主程序或课堂上实例化有什么区别?而且,编译器需要什么标识符?我怎么了

#include <string>

class delay1 {
public:
  delay1(std::string name, int t_){}
  int t;
};

class delay2 {
public:
  delay2(std::string name, int t_){}
  int t;
//  delay1 DTT("DELAY1", 6);
};

int main(int argc, char* argv[]) {
  delay1 DTT("DELAY1", 6);
  return(0);
}

最佳答案

类内初始化程序必须使用={}初始化语法:

class delay2 {
  // ...
  delay1 DTT{"DELAY1", 6};
};

关于c++ - C++实例化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43439030/

10-12 01:03