В моем коде у меня есть массив wchar_t:Невозможно создать массив wchar_t
wchar_t paths [6] = {L"C:\\Program Files\\SomeAppsSuiteFolder1", L"C:\\Program Files\\SomeAppsSuiteFolder2", L"C:\\Program Files (x86)\\SomeAppsSuiteFolder1", L"C:\\Program Files (x86)\\SomeAppsSuiteFolder2", L"C:\\SomeAppsSuiteFolder1", L"C:\\SomeAppsSuiteFolder2"};
Позже я использовать массив в for
цикле. Проблема заключается в том, что для этой строки я получаю следующие ошибки:
error: too many initializers for 'wchar_t [6]'
error: initializer-string for array of chars is too long [-fpermissive]
Более того, в for
цикле у меня есть if
условный, как это:
if(GetFileAttributesW(paths[i])!=INVALID_FILE_ATTRIBUTES) {...}
И, опять же, я получаю ошибку здесь :
error: invalid conversion from 'wchar_t' to 'LPCWSTR {aka const wchar_t*}' [-fpermissive]
Странно, аналогичный код, используемый для правильной сборки несколько месяцев назад ... В чем проблема?
'wchar_t' только широкий характер, а не строка. Вы пытаетесь инициализировать массив символов с (широкими) строковыми значениями. –