Будет ли работать #ifndef в этом случае?

Есть два класса, и функция будет использоваться для каждого класса:

main.cpp

#include "class1.h"#include "class2.h"int main()
{
...
}

Class1.h

#ifndef class1_h
#define class1_h
class class1
{
...
}
#endif

class1.cpp

#include "class1.h"#include "func.h"...

class2.h

#ifndef class2_h
#define class2_h
class class2
{
...
}
#endif

class2.cpp

#include "class2.h"#include "func.h"...

func.h

 #ifndef func_h
#define func_h
int function(int)
{
...
}
#endif

Но приведенный выше код вызовет ошибку компоновщика: «Не удалось выполнить команду компоновщика apple Mach-O с кодом выхода 1»

Сделать #ifndef в func.h работает с разными объектными файлами или работает только в одном объектном файле?

После ссылки class1.o а также class2.o, Является function определиться дважды?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]