Есть два класса, и функция будет использоваться для каждого класса:
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
определиться дважды?
Задача ещё не решена.
Других решений пока нет …