Передача строкового литерала в функцию

Есть функция из сторонней библиотеки

void test(LPOLESTR arg);

Описание функции менять не могу.

При передаче в нее строкового литерала

test(L"Test");

получаю предупреждение

ISO C++11 does not allow conversion from string literal to 'LPOLESTR' (aka 'wchar_t *')

Как корректно избавиться от предупреждения?


Ответы (1 шт):

Автор решения: AlexGlebe

Создайте локальный массив, который будет находиться в стеке. И если его будут модифицировать, то исключения по памяти не будет.

wchar_t arr [ ] = L"Тест" ;
test ( arr ) ;
→ Ссылка