C++ MFC语法将节点设置为新节点
我对我的语法有点疑问。 我做了这个结构C++ MFC语法将节点设置为新节点,c++,syntax,mfc,C++,Syntax,Mfc,我对我的语法有点疑问。 我做了这个结构 struct Node { CString name; CString vorname; CString geburtsdatum; CString adresse; CString plz; CString ort; CString email; CString geschlecht; CString land; CString firma; CString tele
struct Node
{
CString name;
CString vorname;
CString geburtsdatum;
CString adresse;
CString plz;
CString ort;
CString email;
CString geschlecht;
CString land;
CString firma;
CString telefon;
CString fax;
Node* next;
Node* previous;
};
Node *Actual;
const Node *Start;
这在我的.h文件中。现在我想在.cpp文件中输入Start
是一个新节点
它应该是这样的Start=newnode代码>
你能告诉我这样做的语法吗
谢谢因为您的变量是const,所以无法修改它的内容。我猜您希望能够修改它们,但仍然将指针(Start)保持为常量。下一个代码将实现这一点
// .h file
...
extern Node* const Start;
// .cpp file
Node* const Start = new Node();
int main()
{
Start->name = "user2675121";
delete Start;
return 0;
}
与“Start”(int.h文件)一起使用的关键字“extern”告诉编译器该变量将在其他地方初始化。和const应放在“*”之后,以使指针(不是其数据)为const。
但是使用全局变量总是一个错误的决定。我认为您正在尝试在cpp文件中执行以下操作。
开始=新节点()
在这种情况下,为什么“const node*start”。
生成常量将不允许在该变量上写入新数据
我的建议被删除为“const”
#include <stdio.h>
struct Node
{
int info;
Node* next;
Node* previous;
};
int main()
{
const Node* start ;
int d = 4;
start = new Node();
start->info = d;
printf("%d\t", start->info);
return 0;
}
#包括
结构体类型
{
国际信息;
节点*下一步;
节点*先前;
};
int main()
{
常量节点*开始;
int d=4;
开始=新节点();
开始->信息=d;
printf(“%d\t”,开始->信息);
返回0;
}
在这种情况下,在start->info上显示“Node::info readonly”。也就是说,您不能在start
上分配结构数据。因此,请删除const并执行必要的操作一般提示:不要在头文件中定义变量。至于您的问题,您是否尝试过这样做,例如作为main
函数中的第一件事?此外,这不是PHP。C++提供了字符串以外的类型和字符串结构。此外,为了继续检查表,两者都提供了容器,因此您不必提供自己的专门列表。