C++ Id返回1退出状态
当我试图编译此文件时,会弹出此错误(抱歉,是西班牙语) 课堂议程:C++ Id返回1退出状态,c++,class,C++,Class,当我试图编译此文件时,会弹出此错误(抱歉,是西班牙语) 课堂议程: class agenda { private: contacto arreglo[40]; public: agenda(); void setContacto(int n) { }; 编辑:弹出的错误是 [Linker error]对'agenda::agenda()'的引用未定义 ld返回1个退出状态 EDIT2:contacto类只需要一个空构造函数
class agenda
{
private:
contacto arreglo[40];
public:
agenda();
void setContacto(int n)
{
};
编辑:弹出的错误是
[Linker error]对'agenda::agenda()'的引用未定义
ld返回1个退出状态
EDIT2:contacto类只需要一个空构造函数,议程类就可以初始化数组了当您声明一个构造函数时,还应该声明默认(空)构造函数 在
类contacto
中,必须使用空构造函数来声明数组contacto arreglo[40]代码>在课程议程中
因此,请将以下内容添加到class contacto
的公共部分:
contacto(){
/*you can init members...*/
}
在课程议程中
,如果您声明了一个函数并使用了它,则必须实现它。行agen中从main使用的默认构造函数代码>
因此,如果您声明它,您必须将{}
放入以实现它。如果您没有声明,那么您就得到了默认值,因为没有其他构造函数。当然,除了该消息之外,它还有更多的内容,当然这不是一个。除非我们能够编译代码,否则我们无法重现错误。您没有向我们确切地显示错误。用西班牙语显示错误比完全不显示要好。如果您可以在环境中临时使用LANG=en_us集进行编译(或者让编译器用英语工作足够长的时间来问这个问题),它可能会给您提供更好的响应。识别平台是个好主意。我怀疑这是一个Linux变体,但这只是猜测,远非必然。你需要帮助我们来帮助你,对吧!抱歉,我太累了,忘记了这一点,确切的错误是“[Linker error]未定义对'agenda::agenda()'的引用,ld返回了1个退出状态”@Tronikart,您可能想看看,您是否实现了agenda::agenda()
?也许尝试在构造器议程之后添加{}
,或者删除声明……非常感谢你!我原以为这个contacto(string nom,string apel,string tel,string cel,string cor,string ciu,string pai,string grup)
会像它一样工作,但事实证明它是一个参数化构造函数,我实际上需要一个空构造函数。它现在起作用了,我现在可以睡一会儿了
class agenda
{
private:
contacto arreglo[40];
public:
agenda();
void setContacto(int n)
{
};
contacto(){
/*you can init members...*/
}