【问题标题】:Creating an object within my class c++在我的类 c++ 中创建一个对象
【发布时间】:2016-06-28 16:28:56
【问题描述】:
class Button {
public:
    Button(int pin, int debounce)
    {
    }
};
class TransferTable {
private:
    Button a(1, 1);
public:
    TransferTable()
    {
    }
};

上面的代码在引用“按钮 a(1,1)”行时给出了“数字常量之前的预期标识符”错误。类型为按钮。我只想在这个 TransferTable 类中构造一个按钮对象。

【问题讨论】:

  • 我假设你的意思是 public: 而不是 public; 所以我会修正这个错字。

标签: c++ class object arduino


【解决方案1】:

默认的成员初始化器语法需要使用花括号:

private:
Button a{1,1};

或者,正如 juanchopanza 所指出的,您可以使用“等式语法”来做同样的事情:

private:
Button a = Button(1, 2);

或者,如果不能依赖 C++11,则必须改用成员初始化列表。

【讨论】:

  • 或者更详细的替代方案,Button a = Button(1, 2);,它允许圆括号和花括号。
【解决方案2】:
class Button
{
public:
  Button(int pin, int debounce)
  {

  }
};

class TransferTable
{
public:
  TransferTable() : a(1, 1)
  {

  }
private:
  Button a;
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2012-12-18
    • 2020-04-28
    • 2014-08-28
    • 2019-11-15
    相关资源
    最近更新 更多