错误:在构造函数(C++)中没有重载函数的实例

Posted

技术标签:

【中文标题】错误:在构造函数(C++)中没有重载函数的实例【英文标题】:Error: no instance of overloaded function, in constructor (C++) 【发布时间】:2013-04-06 11:03:07 【问题描述】:

我有一个很奇怪的问题...首先,这是我班级的文件:

显示.h:

#ifndef SHOW
#define SHOW

#include <iostream>
#include <string>
#include <string.h>

class Show

private:
    std::string m_time;
    int m_serial
public:
    Show(const std::string &time, const int &serial);
    ~Show();
;
#endif

显示.c:

#include "Show.h"

Show::Show(const std::string &time,const int &serial)



如你所见,我只写了构造函数的声明,当visual studio在Show.c文件中的第二个“Show”字下划线时,告诉我:

"void Show::Show(const std::string &time,const int &serial)

显示::显示()

Show::Show(const Show &)

错误:没有重载函数“Show::Show”的实例与特定类型匹配”

当我将鼠标光标停留在 Show.h 文件中的构造函数上时,看起来该函数不存在...我以前用 C++ 编写过一些类,这是第一次这发生在我身上...请帮助:(

【问题讨论】:

int m_serial 后面需要; 与您的问题无关:您可能希望将 std 标头包含内容移至 .c 文件( 除外)。 在您尝试编译时一定有更多错误,查看所有错误总是有帮助的,而不仅仅是最后一个错误。 【参考方案1】:

您忘记将; 放在m_serial 字段变量之后。我相信这是您遇到问题的原因。不幸的是,许多编译器没有给出此类问题的确切原因,因此您必须小心语法规则。

【讨论】:

大声笑这解决了它。我在这个东西上坐了半个小时试图弄清楚它是“;”......非常感谢:)

以上是关于错误:在构造函数(C++)中没有重载函数的实例的主要内容,如果未能解决你的问题,请参考以下文章

C++类与对象(详解构造函数,析构函数,拷贝构造函数,赋值重载函数)

每个构造函数,方法和运算符重载的c ++多重定义错误[重复]

如果我们在 C++ 中重载构造函数,默认构造函数是不是仍然存在? [复制]

C++ - 构造函数重载 - 私有和公共

C++类和对象

c++中拷贝构造函数和赋值运算符重载本质上一样么