вам нужно тело (в файле cpp
):
int foo()
{
return 1;
}
и определение / прототип в заголовочном файле, который будет включен перед любым использованием функции:
#ifndef MY_FOO_HEADER_
#define MY_FOO_HEADER_
int foo();
#endif
затем используя его где-то еще:
#include foo.h
void do_some_work()
{
int bar = foo();
}
или используйте встроенную функцию (не гарантирует, что она будет встроенной, но полезна для небольших функций, таких как foo
):
#ifndef MY_FOO_HEADER_
#define MY_FOO_HEADER_
inline int foo()
{
return 1;
}
#endif
в качестве альтернативы вы можете использовать функции, основанные на заголовке в стиле C (так что это идет в заголовке, static
заставляет его существовать только в одном модуле компиляции, однако вам следует избегать этого ):
#ifndef MY_FOO_HEADER_
#define MY_FOO_HEADER_
static int foo()
{
return 1;
}
#endif