我正在写一个DLL:
#include "stdafx.h"
_DLLAPI int __stdcall myDLLFunc()
{
return test(4);
}
int test(int arg)
{
return arg * arg;
}
但是当我尝试在MS VC ++ Express中编译它时,它说:
错误C3861:'test':找不到标识符
如何从test
致电myDLLFunc
?
我错过了明显的吗?
提前致谢。
答案 0 :(得分:4)
将被调用的函数放在代码中的调用者之前,它应该编译。 C ++不会为调用函数“向前看”,它们必须在任何用法之前声明。
#include "stdafx.h"
int test(int arg)
{
return arg * arg;
}_DLLAPI int __stdcall myDLLFunc()
{
return test(4);
}
通常,您会将函数的声明与定义(在代码文件中)分开(在头文件中),以降低依赖性复杂性。