我试图在C++中运行C样式代码,我的编译器给出以下错误:
第5行:错误:字符串常量之前的预期unqualified-id
第二:我的目标是理解"第d行"的错误.
using namespace std;
typedef int (*pfun)(int); // line a
int main()
{
extern "C" void foo(pfun); // line b
extern "C" int g(int); // line c
foo( g ); // line d, Error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您需要将外部"C"行移动到全局范围.
#include <cstdlib>
using namespace std;
typedef int (*pfun)(int); // line a
extern "C" void foo(pfun); // line b
extern "C" int g(int); // line c
int main(void)
{
foo( g ); // line d, Error
return 0;
}
Run Code Online (Sandbox Code Playgroud)