在下面的示例中,为什么我必须完全限定 cpp 中自由函数的名称以避免链接器错误,为什么它对没有的类函数有效?你能解释一下区别吗?
ctest.h:
namespace Test
{
int FreeFunction();
class CTest
{
public:
CTest();
~CTest();
};
}
ctest.cpp:
#include "ctest.h"
using namespace Test;
// int FreeFunction() -> undefined reference error
int Test::FreeFunction() -> works just fine
{
return 0;
}
CTest::CTest() -> no need to fully qualify name, i.e. Test::CTest
{}
CTest::~CTest()
{}
感谢您的时间和帮助。