1-й из всех
неверное содержимое заголовка
#include "myObject.h"
namespace nmspc{
MyObject obj1;
//some code here
}
это должно быть в cpp модуле, то есть: единица перевода
, поскольку это экземпляр, т.е. код времени выполнения)
, тогда как заголовок - это место для всех stati c связанных содержимого
, если вы хотите написать MyObject :: helloWorld ()
может иметь это здесь
myObject.h:
#include <iostream>
namespace nmspc{
class MyObject{
public:
void helloWorld();
};
MyObject::helloWorld(){
std::cout << "Hello, World!" << std::endl;
}
}
, потому что ::
(разрешение разрешения области) - это то, к чему относится пространство имен или класс / структура
например nmspc::MyObject::helloWorld
может быть helloWorld
класс внутри MyObject
класс принадлежит nmspc
пространство имен
может быть helloWorld
класс принадлежит MyObject
пространство имен принадлежит nmspc
пространство имен. et c
int main{
MyObject obj1;
//some code here
nmspc::obj1.helloWorld();
return 0;
}