В моем примере ниже, почему я должен полностью уточнять имя функции free в 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()
{}
Спасибо за ваше время и помощь.
void
в качестве аргумента полезно в C, но бесполезно и считается плохим стилем в C++: parashift.com/c++-faq-lite/newbie.html#faq-29.4 - person log0   schedule 03.11.2010