0

这让我很困惑:

typedef bool(*pGetNameByPid)(DWORD PID, TCHAR lpszProcessName[MAX_PATH]);

上面的句子有什么东西吗?我想导出一个GetNameByPid用 C++ 编写的 DLL 命名的函数。但是编译报告说:

error C2143: syntax error : missing ')' before '*'

有什么帮助吗?

4

1 回答 1

2

C89中没有bool类型,这是 Microsoft 编译器支持的 C 标准。您可以使用 anint或 WINAPIBOOL作为返回类型:

typedef BOOL (*pGetNameByPid)(DWORD PID, TCHAR lpszProcessName[MAX_PATH]);

从 DLL 导出函数:

__declspec(dllexport) BOOL GetNameByPid(DWORD PID, TCHAR* lpszProcessName)
{
    /* Do some work */
    return TRUE;
}
于 2012-05-21T08:33:42.900 回答