我有一个有用的功能,希望将其从独立的实用程序转换为RAII风格的帮助程序类。在粘贴函数代码并将其重命名之前,我对类的定义一直很好。这时,函数名称用红色下划线标出,并且工具提示显示“与类相同名称的成员函数必须是构造函数”。
此错误消息没有帮助。我知道,我无法编写与该类同名的函数。我希望这个函数成为构造函数。为什么不呢这是怎么回事?
之前:

void Useful( int Param ) // works, and is useful
{
    // do useful things
}
后:
class Useful
{
    void Useful( int Param ) // generates error
    {
        // do useful things
    }
};

最佳答案

问题是剪切和粘贴错误。返回类型的存在阻止了将函数解释为构造函数。

所以:

class Useful
{
    Useful( int Param ) // problem solved
    {
        // do useful things
    }
};

关于c++ - 为什么我看到 “member function with the same name as its class must be a constructor”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54335465/

10-09 02:54