在VC2008中的C++项目,出现error C2440: “=”: 无法从“System::String ^”转换为“char *”
error C2440: “=”: 无法从“System::String ^”转换为“char *”是什么原因呢?
我已经加了 #include <cstring>
using namespace std;这个了;
出错的代码其实很简单:
char *get_ip;
get_ip = this->textBox1->Text;
要怎么处理?谢谢
没用过System::String
但也知道这东西不能强制转换为char *
你非要乱写,自然报错。
解决办法就是查System::String的成员函数,里面一定有个一个成员函数是返回内部char *指针的
[解决办法]
array<Char>^delimiter = delimStr->ToCharArray();
首先得确定你这是C++吗?托管的C++没用过,里面有各种诡异的语法,不过看起来,ToCharArray()只能返回array<Char>,不能返回char *,并且暂时也没找到System::String返回char *的函数,所以只能到C#版去求教了。或许你可以试试把char *改成TChar *