ZBLOG

class CMotionAcceleration { protected: std::atomic m_isStopped(false); }; 代码“std::atomic sharedData(0);”出现错误提示:“error: expected parameter declarator”?

在C++中,std::atomic<bool> m_isStopped(false);这样的初始化语法是C++11引入的构造函数的列表初始化语法,但在类的成员初始化列表中不支持这种写法。您可以通过构造函数来实现对成员变量进行初始化。

下面是一种解决方法:

#include <atomic>

class CMotionAcceleration
{
protected:
    std::atomic<bool> m_isStopped;

public:
    CMotionAcceleration() : m_isStopped(false) {}
};

通过在类的构造函数中使用成员初始化列表,可以正确地初始化m_isStopped成员变量为false。这样就避免了直接在类定义内部进行成员变量初始化时可能出现的问题。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=18577

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?