c++ - 为什么我看到 “member function with the same name a

我有一个有用的功能,希望将其从独立的实用程序转换为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/

相关文章:

c++ - 以下代码段出了什么问题?

c++ - 声明和初始化struct类型变量时出错

c++ - 长双二维动态数组C++

c++ - 无法使用std::pair and constructors [closed]编译代码

c++ - g++,如何找到出错的地方?

java - 为什么此代码段显示编译错误?

c# - 如果其他语句不起作用

objective-c - ARC 不允许将 'int' 隐式转换为 'id _Nonnull'

c++ - "expected ';在返回语句之后,有人可以告诉我我的代码有什么问题吗?

c# - 为什么编译器认为Environment.Exit可以返回?