Когда у меня есть класс C ++ MyClass
в пространстве имен mynamespace
, я реализую его методы как
void mynamespace::MyClass::method() { … }
. Я могу обернуть его в пространство имен, чтобы сократить отдельные определения до
namespace mynamespace {
void MyClass::method() { ... }
}
Есть ли способ избежать необходимости повторного ввода MyClass::
, чтобы я мог копировать все до {
в заголовок в качестве прототипа при изменении сигнатуры без необходимости каждый раз удалять MyClass::
?
Я думал, что "класс - это также пространство имен, может быть, я смогу это сделать"
namespace mynamespace::MyClass {
void method() { ... }
}
, но это жалуется на то, что я переопределил MyClass как нечто другое. using mynamespace::MyClass;
также не сработало (но все равно было бы плохо, потому что как бы я объявил автономную функцию где-нибудь ниже этой строки в этом файле, если бы она работала).
Есть ли решение для этого или оно есть? просто невозможно в C ++?