C++用字符数组给string 数组中某一个string赋值问题

首先我定义了一个string数组 string *P1=new string[100];
然后又有一个字符数组char ch1[]={ch,'-','>','\0'} ;
我想要把ch1赋值到P1[0],就用P1[0](ch1) 但是编译不通过 错误提示是:[Error] error: no match for call to `(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) (char[4])'

或者我用P1[0]=ch1 编译是通过了 但是运行停止调试的时候会调到 iostream文件中的static ios_base::Init __ioinit; 这一行
请问怎么解决这个问题?

P1[0](ch1): 在没有适当 operator() 的情况下调用类类型的对象或将函数转换到指向函数的类型。
P1[0]=ch1;运行正常,没有问题。追问

真的不对啊  运行的时候会弹出对话框 要求关闭 调试的时候在下面图中的第二个断点时候调到iostream

你看我的截图是不是错在别的地方   相关的内容已经设断点 错误产生在第二个断点

追答

能把完整的程序以文本的形式给我调试吗?

追问

代码很长啊 怎么给你 有字数限制

追答

发个E_MAIL:[email protected]

追问

已发送 请查收

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-26
char ch1[] ={ch, '-', '>', '\0'};这个地方可能有错,char数组的元素是单个字符,ch是两个字符。追问

ch是一个字符 输出验证了

相似回答