C++ 向量内不可修改的值?
我有以下数据结构:C++ 向量内不可修改的值?,c++,vector,struct,C++,Vector,Struct,我有以下数据结构: struct file{ char name[MAX_FILE_NAME]; char data[BLOCK_SIZE - MAX_FILE_NAME] }; struct disk{ vector<file> current_file; }; 我得到的错误是表达式必须是可修改的|值 我觉得已经很晚了,我似乎无法理解一些简单的事情。。。但是为什么这样不行呢?你不能这样分配数组,例如 char foo[500]; foo = "thi
struct file{
char name[MAX_FILE_NAME];
char data[BLOCK_SIZE - MAX_FILE_NAME]
};
struct disk{
vector<file> current_file;
};
我得到的错误是表达式必须是可修改的|值
我觉得已经很晚了,我似乎无法理解一些简单的事情。。。但是为什么这样不行呢?你不能这样分配数组,例如
char foo[500];
foo = "this won't work";
您必须使用类似于strcpy
strcpy(new_disk.current_file[0].name, "new name");
strncpy
会更安全,而std::string
会更安全。您不能这样分配数组,例如
char foo[500];
foo = "this won't work";
您必须使用类似于strcpy
strcpy(new_disk.current_file[0].name, "new name");
strncpy
会更安全,std::string
会更安全