Здравствуйте!
Хочу старый добрый enum пересадить хирургически в другое место, используя новомодные C++11 штуки типа using'ов.
Но так как плохо их знаю, что-то не выходит.
Возможно, может и старыми способами можно, но не соображу как.
Желание такое — есть старый добрый enum, объявленный где угодно. Хочу перетащить этот enum в другое место, в объявление структуры, так, чтобы имя типа было доступно через квалификацию структуры, а — константы — без квалификации имени, только через имя структуры. Само собой, хочется, чтобы оригинальный enum и перетащеный — были бы полностью совместимы
Что-то типа того —
https://ideone.com/XE4N6Q
#include <iostream>
using namespace std;
namespace bla
{
enum Direction
{
dirA,
dirB
};
}
namespace OtherNS
{
struct SomeStruct
{
using bla::Direction ;
Direction d;
};
}
OtherNS::SomeStruct::Direction other = OtherNS::SomeStruct::dirB;
int main() {
// your code goes here
cout<<other<<"\n";
return 0;
}
Подскажите плс