我将结构定义为:
struct taxPayer{
char name[25];
long int socialSecNum;
float taxRate;
float income;
float taxes;
};
Run Code Online (Sandbox Code Playgroud)
我的主要功能包括:
taxPayer citizen1, citizen2;
citizen1.name = "Tim McGuiness";
citizen1.socialSecNum = 255871234;
citizen1.taxRate = 0.35;
citizen2.name = "John Kane";
citizen2.socialSecNum = 278990582;
citizen2.taxRate = 0.29;
Run Code Online (Sandbox Code Playgroud)
编译给我一个错误(C3863 数组类型char[25]不可分配,表达式必须是一个可修改的左值) oncitizen1.name = "Tim McGuiness";以及 oncitzen2.name = "John Kane";
如何删除此错误并设置citizen1.name为一个名称和citizen2.name一个不同的名称?
您不能分配给数组。您可以做的是使用 astd::string或 use std::strcpy/std::strncpy,例如
std::strncpy(citizen1.name,"Tim McGuiness", sizeof(taxPayer::name));
Run Code Online (Sandbox Code Playgroud)
由于您使用 C++,我建议您使用std::string,
struct taxPayer
{
std::string name;
// the rest
};
Run Code Online (Sandbox Code Playgroud)
然后您可以像在代码中一样简单地分配给它
citizen1.name = "Tim McGuiness";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12380 次 |
| 最近记录: |