static关键字作用
apple.h中定义了方法:
static void testFunction();
apple.cpp实现了该方法
static void testFunction() { std::cout<<"hello,i am apple!"<<std::endl; }
/Users/taohu/project/self_study/tutorial_04/src/apple.h:9:13: warning: function 'testFunction' has internal linkage but is not defined [-Wundefined-internal]
clang: error: linker command failed with exit code 1 (use -v to see invocation)
linking的时候会GG了
凡是加了static关键字的函数,则它只对包含该static函数的文件是可见的,在文件外是不可见的
再增加一个函数,该函数在apple.h中申明
void testFunction1();
在apple.cpp中定义
在实现的时候直接调用testFunction()
没有问题