Я не знаю, почему это сводит меня с ума, но это так. У меня есть функция, определенная и объявленная в главном.
static void myFunc(int x);
static void myFunc( int x)
{
//do stuff
}
main()
Я хочу использовать myFunc (int x) в другом классе. Поэтому я думаю, что все, что мне нужно сделать, это extern static void myFunc (int x) внутри этого класса, а затем просто вызовите его там, где мне нужно, в определении класса, но это не сработает.
Что я делаю не так?
благодаря
Вы не можете использовать extern и static вместе, они являются взаимоисключающими.
static
means Internal Linkage
extern
means External Linkage
Вам нужно использовать только extern
, если вам нужна внешняя связь.
Good Read:
what is external linkage and internal linkage in c++?