我对我的语法有一点疑问。 我做了这个结构
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
是new Node
它应该是这样的Start = new Node;
你能告诉我这样做的语法吗?
由于
答案 0 :(得分:0)
由于您的变量是const,因此无法修改其内容。我想你有能力修改它们但仍然将指针(Start)保持为const。下一个代码就可以了。
// .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。 但是使用全局变量总是一个糟糕的决定。
答案 1 :(得分:0)
我认为您正在尝试在cpp文件中执行以下操作。 start = new Node();
在这种情况下为什么'const node * start'。 制作const,不允许在该变量上写入新数据。
我的建议被删除'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;
}
在此,在开始时 - &gt;信息说“Node :: info readonly”..即你不能在start
上分配结构数据。所以请删除const并进行必要的操作