c++中string 数组初始化的问题。

2025-08-18 07:46:35
推荐回答(5个)
回答1:

显然的嘛,如果改为Trans=new string("123","456"),那么Trans[0]就是*Trans了 而此时Trans[1]没有定义 所以会乱码 乱码原因是你访问了没有定义过的地方

回答2:

Trans=new string{"123", "456"};

应改为
Trans=new string("123");

回答3:

string sarr[] = {"123", "456"};
string *Trans = sarr;

回答4:

string类
已知类String的原型为:
class String
{
public:
String(const char *str = NULL);// 普通构造函数
String(const String &other); // 拷贝构造函数
~ String(void); // 析构函数
String & operator =(const String &other);// 赋值函数
private:
char *m_data;// 用于保存字符串
};

你的写法是错误的。
修改为:

string * Trans;
Trans = new string("123");

数组定义:

string * Trans;
Trans = new string[2];
Trans[0] = "123";
Trans[1] = "456";

回答5:

你这是给坐标赋值吧 Trans不能设置成字符串