我有这段代码, 我不明白为什么显示这个错误?
string messege = "aaa";
char tmp[50];
strcpy_s(tmp, messege.length(), messege.c_str);
char* s = NULL;
s = &(tmp[0]);
有人可以帮忙吗?
答案 0 :(得分:1)
在这一行中,您在调用c_str
后忘记了括号:
strcpy_s(tmp, messege.length(), messege.c_str);
添加缺少的括号应该解决这个问题。
也就是说,想要以这种方式混合C风格和C ++风格的字符串是不寻常的。您可能想要考虑一下您所做的事情是否合适。
答案 1 :(得分:0)
c_str
是std::string
的成员函数,因此您需要使用()
strcpy_s(tmp, messege.length(), messege.c_str());
这将解决您的问题。