gpt4 book ai didi

c++ - 如何在 C++ (g++) 中初始化类中的字符串

转载 作者:行者123 更新时间:2023-11-30 04:44:25 24 4
gpt4 key购买 nike

初始化类中的字符串时出现此错误

错误: publicclass.cpp:13:6: 错误:数组类型“char [50]”不可分配 s.n = "随机字符串";

但是 char 正在工作。仅获取字符串错误

#include<iostream>
using namespace std;
class student
{
public:
int ht;
char n[50];
};

int main()
{
student s;
s.ht = 1;
s.n = "Randomstring";
cout<<"Hallticket no : "<<s.ht<<"\n";
cout<<"Name : "<<s.n<<"\n";
return 0;
}

编译器版本为 g++ 8.0.0(与 clang++ 、turboc++(在 windows 中)出现相同的错误)

最佳答案

数组不可赋值。

您可以在初始化包含它的对象时初始化该成员:

student s{1, "Randomstring"};

您可以在初始化后复制现有数组的元素:

std::strncpy(s.n, "Randomstring", std::size(s.n));

关于c++ - 如何在 C++ (g++) 中初始化类中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57775780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com