-3
char messaggiou[100];
char *name2;
string encoded;
name2 = (char*)malloc(encoded.length() + 1);
strcpy(name2, messaggiou);
strcpy(encoded.c_str(), name2);
const char* hex_str = name2;
我在C++中使用vs2015時出現此代碼(簡化)的錯誤。無法將常量字符轉換爲字符
error C2664: `'char *strcpy(char *,const char *)': cannot convert argument 1 from 'const char *' to 'char *'
詩在messaggiou有十六進制的加密字符串
它看起來像你試圖將'name2'複製到'encoded'。由於'encoded'是一個字符串,你可以使用'='運算符,它會正確地爲你複製數據。 http://en.cppreference.com/w/cpp/string/basic_string/operator%3D –
爲什麼在C++中使用'malloc'和'strcpy'? – Kevin
您誤解了錯誤。你可以將'const char'轉換爲'char'。你不能將'const char *'轉換爲'char *'。 –