Привет
Вызываю target_method(wstring[], int) с параметрами через функцию-оболочку execute_shell(const LPVOID), но почему-то не все параметры доходят непустыми: Значения массива содержат в себе "":
typedef struct ExecuteParameters1
{
wstring args[10];
int argsCount = 0;
};
ExecuteParameters1 params;
params.args[0] = L"str"; //присваиваем значение элементу массива
params.argsCount = argsCount;
HANDLE handle_of_comp = CreateThread(NULL, 0, execute_shell, ¶ms, 0, NULL);
В функции-оболочке элемент массива args[0] имеет значение L"":
DWORD WINAPI execute_shell(const LPVOID lpParam)
{
ExecuteParameters1 params = *(ExecuteParameters1*)lpParam;
wstring t = params.args[0]; //здесь t = L"";
int g = params.argsCount; //g = 10 как и передавалось
target_method(params.args, params.argsCount);
return 0;
}
Почему такое может быть?