посмотрел исходники iostream и там вот такая конструкция
namespace std {
extern istream cin;
extern ostream cout;
extern ostream cerr;
extern ostream clog;
}
Я попытался сделать тоже самое:
class AA {
public :
...
};
class BB {
public :
...
};
namespace OO
{
extern AA test1;
extern BB test2;
}
но каждый раз при компиляции выкидывает подобное - undefined reference to `OO::test1' Если делать без extern будет выбивать - multiple definition. Подскажите, как решить эту проблему? спасибо.
namespace OO {AA test1; BB test2;}, не забыв заинклудить хедер с определениями классов. Либо другой вариант: Заменитьexternнаinline. – HolyBlackCat Apr 08 '19 at 17:14