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++提供了字符串以外的类型和字符串结构。此外,为了继续检查表,两者都提供了容器,因此您不必提供自己的专门列表。