为什么我不能在struct构造函数中分配const int?

0 c++

为什么我不能在C++中这样做?

struct SomeStruct
{
public:
    SomeStruct(const int someInt)
    {
        m_someInt = someInt;
    }

private:
    const int m_someInt;
};
Run Code Online (Sandbox Code Playgroud)

私有字段应该是常规整数吗?

fro*_*tto 9

你分配someIntm_someInt,这是违法的.但是初始化是可以的.

struct SomeStruct
{
public:
    SomeStruct(const int someInt) : m_someInt(someInt)
    {

    }

private:
    const int m_someInt;
};
Run Code Online (Sandbox Code Playgroud)

更多信息:构造函数和成员初始化列表