| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > error C2664 |
| Автор: -Сергей- 8.2.2006, 18:00 |
| Обьясните в чем ошибка есть ф-я DWORD func(HWND hWndNotify, LPSTR lpszFileName) есть диалог открытия opDlg при func(0,opDlg->FileName); вылетает error C2664: cannot convert from 'System::String __gc *' to 'LPSTR' Заранее спасибо! |
| Автор: _hunter 8.2.2006, 18:12 |
| ошибка в том, что функция ожидает параметри типа LPSTR а ты ей даеш System::String __gc * что, естественно, ей ( точнее компилятору ) не нравится |
| Автор: -Сергей- 8.2.2006, 18:14 |
| Спасибо, но я догадался уже. Только как это исправить? LPSTR это сhar* как конвертнуть System::String __gc * в LPSTR? На метод ToChar и ToCharArray тоже ругается. |
| Автор: _hunter 8.2.2006, 18:27 |
| как ругается? + ты бы среду указал... |
| Автор: -Сергей- 8.2.2006, 18:34 |
| Среда VC++ .net Приложение - Windows Forms Application На ToChar ругается так : error C2664: cannot convert from '__wchar_t (System::IFormatProvider __gc *)' to 'LPSTR' А на ToCharArray ругается так: error C2664: cannot convert from '__wchar_t __gc[]' to 'LPSTR' |
| Автор: _hunter 8.2.2006, 18:39 |
| посмотри в справке какие методы возвращают char* ( или аналоги ). их и используй |
| Автор: -Сергей- 8.2.2006, 18:41 |
| Да че я только не смотрел, и справку, и MSDN и Google. Не помогает. |
| Автор: Hroft 9.2.2006, 19:53 |
| А у этого System::String нету c_str() метода? И это... w_char - это же двухбайтовые юникодовские, а LPSTR - просто char* же, их мешать так просто нельзя. |