显然的嘛,如果改为Trans=new string("123","456"),那么Trans[0]就是*Trans了 而此时Trans[1]没有定义 所以会乱码 乱码原因是你访问了没有定义过的地方
Trans=new string{"123", "456"};
应改为
Trans=new string("123");
string sarr[] = {"123", "456"};
string *Trans = sarr;
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";
你这是给坐标赋值吧 Trans不能设置成字符串