C++ 返回类型为的构造函数,或当前类的非法重新定义
我将创建一个链表对象类,它将是创建链表对象的“模板”。现在,我已经编写了一个简单的代码,但有一个无法绕过的错误。我的代码是C++ 返回类型为的构造函数,或当前类的非法重新定义,c++,constructor,linked-list,C++,Constructor,Linked List,我将创建一个链表对象类,它将是创建链表对象的“模板”。现在,我已经编写了一个简单的代码,但有一个无法绕过的错误。我的代码是 #include <iostream> using namespace std; class L_List { private: struct node { int data; node* next; }; node* top; public:
#include <iostream>
using namespace std;
class L_List {
private:
struct node {
int data;
node* next;
};
node* top;
public:
void L_List():top(NULL) {}
};
int main() {
L_List list;
return 0;
}
#包括
使用名称空间std;
类L_列表{
私人:
结构节点{
int数据;
节点*下一步;
};
节点*顶部;
公众:
void L_List():top(NULL){}
};
int main(){
L_列表;
返回0;
}
在VisualStudio2008中,构造函数声明字符串出现错误。
错误是“L_List”(返回类型的构造函数,或当前类名的非法重新定义)之前的错误C2380-类型。那么,我的代码有什么不对?C++中的,构造函数不返回任何东西。正确的定义是
,构造函数不返回任何东西。正确的定义是:top(NULL)错误
返回类型为的构造函数 表示必须从构造函数中删除返回类型void
:
#include <iostream>
using namespace std;
class L_List
{
private:
struct node
{
int data;
node* next;
};
node* top;
public:
L_List():top(NULL)
{
}
};
int main()
{
L_List list;
return 0;
}
#包括
使用名称空间std;
类L_列表
{
私人:
结构节点
{
int数据;
节点*下一步;
};
节点*顶部;
公众:
列表():顶部(空)
{
}
};
int main()
{
L_列表;
返回0;
}
错误
返回类型为的构造函数
表示必须从构造函数中删除返回类型void
:
#include <iostream>
using namespace std;
class L_List
{
private:
struct node
{
int data;
node* next;
};
node* top;
public:
L_List():top(NULL)
{
}
};
int main()
{
L_List list;
return 0;
}
#包括
使用名称空间std;
类L_列表
{
私人:
结构节点
{
int数据;
节点*下一步;
};
节点*顶部;
公众:
列表():顶部(空)
{
}
};
int main()
{
L_列表;
返回0;
}
构造函数不是函数。因此,它不能返回任何内容,其目的是构造对象,即根据构造函数的参数设置数据字段。构造函数不是函数。因此,它不能返回任何内容,其目的是构造对象,即根据构造函数的参数设置数据字段。void-该类型返回任何内容吗?@Lacoste不,这只是一个语法约束。这就是语言的定义。谢谢你回答我的问题,但是这个案例我不明白。我声明了void L_List:top(NULL){},这意味着我已经有了一个没有返回任何内容的构造函数。@Lacoste,但这是一个语法错误。您必须声明没有返回类型的构造函数,即。E作为L_List:top(NULL){}
,没有void
关键字。啊,好了,现在我知道了,void-该类型返回什么吗?@Lacoste否,这只是一个语法约束。这就是语言的定义。谢谢你回答我的问题,但是这个案例我不明白。我声明了void L_List:top(NULL){},这意味着我已经有了一个没有返回任何内容的构造函数。@Lacoste,但这是一个语法错误。您必须声明没有返回类型的构造函数,即。E如<代码> LyList:Top-C++(null){} /Case>,没有<代码> VoUT> /Cord>关键字。AHOH,好了,现在我应该花更多的时间阅读和学习一个基本的C++语言指南。您应该花更多的时间阅读和学习一个基本的C++语言指南。