У меня есть старый файл на C++, который, как я знаю, используется для компиляции. Я создал новую установку Visual C++ версии 6.Ошибка C++ C2664 с CStrings
Я получаю много ошибок компиляции с CStrings о невозможности преобразовать в сопзЬ полукокса *
Вот пример.
CString dogs = "test";
writeoutfile(dogs, 1);
void Crender::writeoutfile(CString data, long data_size) {}
Я получаю эту ошибку:
error C2664: 'void __thiscall Crender::writeoutfile(const char *,long)' : cannot convert parameter 1 from 'class CString' to 'const char *'
Есть ли какой-то способ, которым я могу обойти это?
Либо прототип 'writeoutfile' не соответствует реализации, которую вы там там (он ожидает' const char * ', а не' CString'), или вы где-то задали 'CString'' const char *'. –
Совершенно верно. Я изменил файл cpp, но не h-файл. Раньше он использовал void writeoutfile (данные LPCSTR, long data_size = -1). Я изменил первый аргумент на CString, чтобы попытаться упростить эту проблему. –