MFC语法将节点设置为新节点

时间:2013-11-19 15:54:32

标签: 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 telefon;
    CString fax;
    Node* next;
    Node* previous;
};
Node *Actual;
const Node *Start;

所以,这是在我的.h文件中。现在我想进入我的.cpp文件Startnew Node 它应该是这样的Start = new Node;

你能告诉我这样做的语法吗?

由于

2 个答案:

答案 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并进行必要的操作

相关问题