我不知道为什么这会让我疯狂,但确实如此。我在main中声明了一个函数定义和转发。
static void myFunc(int x);
static void myFunc( int x)
{
//do stuff
}
main()
我想在另一个类中使用myFunc(int x)。所以我认为我所要做的就是 extern static void myFunc(int x)在该类头中,然后只需在类定义中调用它,但它不起作用。
我做错了什么?
由于
答案 0 :(得分:20)
你不能一起使用extern和static,它们是互斥的。
static
表示内部链接
extern
表示外部链接
如果需要外部链接,则只需使用extern
。
好读:
的 what is external linkage and internal linkage in c++? 强>