我正在尝试创建一个链表,并将值"Peter"保存在第一个列表元素中。我的char数组有问题。我不能在里面插入"彼得"。
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
struct ListElement{
char name[20];
ListElement* next;
};
int main ()
{
ListElement* first;
first = new ListElement;
first -> name= "Peter"; // Array type 'char [20]' is not assignable
};
要设置char[]
数组的值,应该使用strcpy
或strncpy
函数,如:
strcpy(first->name, "Peter");
但是,最好使用std::string
类型,您可以直接分配:
struct ListElement{
std::string name;
ListElement* next;
};
则first->name = "Peter";
为有效代码。