2015-11-12 7 views
0

Я хочу, чтобы проверить следующую функцию с станд :: асинхронной для статического класса и моя главная цель состоит в том, чтобы ждать до тех пор пока функция выполняется. Но я столкнулся со следующей ошибкой. Может кто-нибудь дать мне повод для этой ошибки.ошибка в функции асинхронной

IASD* ASDInterface = getASD();//gets the instance corrcet and tested function successfully 

auto habnd = std::async(std::launch::async, &IASD::handle_request, ASDInterface ,arb_id, sid, data, size); 

после отладки вышеуказанной строки я получаю следующую ошибку.

ошибка LNK2019: неразрешенный внешний символ __imp___CrtDbgReportW ссылки в функции "защищены: __thiscall параллелизм :: Информация :: _ RefCounter :: _ RefCounter (длинный)" (?? 0_RefCounter @ подробности @ Параллелизм @@ IAE @ J @ Z)

может кто-нибудь ответить мне, почему я получаю выше ошибки.

Большое вам спасибо.

+0

Если вы хотите, для запуска функции async, возможно, попробуйте с http://www.tutorialspoint.com/cplusplus/cpp_multithreading.htm – ventaquil

+0

Я не могу помочь вам, если вы не докажете ide любой код, который дает эту ошибку. Покажите нам какой-нибудь код! «читать его учебник» - лучший ответ прямо сейчас. –

ответ

1

Я не думаю, что это releted к std::async непосредственно,
Я подозреваю, что есть несоответствие по выбору времени выполнения на вкладке Code Generation

убедитесь, что на degub сборки, то «Runtime библиотеки» устанавливается «Проект -> Свойства -> Свойства конфигурации -> C/C++ -> Генерация кода -> Библиотека времени выполнения)

+0

Спасибо, что работает !! –

+0

отлично, поэтому отметьте это как ответ –