【问题标题】:error: expected identifier before numeric constant Issue Once Again [closed]错误:数字常量之前的预期标识符再次发布[关闭]
【发布时间】:2016-10-09 03:45:43
【问题描述】:

团队, 这个问题已经被问过很多次了,但答案似乎不适合我的情况。这是我非常简单的代码。导致问题的代码行在主程序中完美运行;但是,当我尝试使用完全相同的代码将对象嵌入到对象中时,会出现错误消息。我怀疑原因很傻,但是我太近了,看不到它...enter image description here

【问题讨论】:

  • 这里没有团队。此外,我在这里也没有看到有效的问题。
  • 请将问题中的相关代码作为文本输入。
  • 您不能以这种方式初始化成员变量。具有讽刺意味的是,从 C++11 开始,您可以编写 A one = 100.0。但你应该查看你的教科书/教程以了解类和构造函数的描述。

标签: c++ object constants numeric identifier


【解决方案1】:

在一个类中你必须使用成员初始化列表来初始化你的成员变量A in B:

class B{
public:
    A one; //Declare one here
    int numbluemarbles;
    B(): one(100){} //initialize one here
};

在 c++11 或更高版本中,您还可以使用更新的语法:

class B{
public:
    A one = 100.0; //C++11
    int numbluemarbles;
};

有关如何使用 c++11 初始化选项的更多信息,请阅读以下内容:http://www.informit.com/articles/article.aspx?p=1852519

【讨论】:

  • 你说得好像这个 C++11 初始化在 C++14(当前的 C++)中丢失了。除了回答一个离题的问题。
  • shuttle87:很棒的答案——非常感谢。我必须承认,我在 C++ 冒险中已经走到了这一步,而且之前从未遇到过成员初始化列表。非常感谢您与我分享这一点——显然我还有更多的学习要做!!!
猜你喜欢
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多