【发布时间】:2016-01-15 21:13:58
【问题描述】:
我正在尝试使用 pthread 库。
这个错误的原因是什么?
错误 C2664: 'pthread_create' : 无法将参数 3 从 'void *(__clrcall *)(void *)' 转换为 'void *(__cdecl *)(void *)
这是我的代码:
pthread_create(&thread1,NULL,sub_m,(void *)data);
void *sub_m(void* data)
【问题讨论】:
-
您是否有机会将您的代码编译为托管 C++?
-
我正在使用 Visual Studio 2010
-
__clrcall在您的错误消息中让我认为 C++ 项目的类型是托管 C++,而不是本机 C++。您打算在您的项目中使用 .NET Framework 吗?实际上,@toast 提供的解决方案应该可以工作,但禁用 C++/CLI 支持(前提是您不需要它)不需要显式指定调用约定。
标签: c++ visual-c++