Вот на отрез отказывается собираться:
#include <iostream>
#include <string>
#include <map>
using namespace std;
class TWidget
{
public:
enum TAttrType
{
EVisibility,
EActivity,
};
const static map <TAttrType, string> iAttrs;
};
const TWidget::iAttrs[TWidget::TAttrType::EVisibility] = "Hello world";
const TWidget::iAttrs[TWidget::TAttrType::EActivity] = "Hello cruel world";
int main (int argc, char** argv)
{
cout << TWidget::iAttrs[TWidget::TAttrType::EVisibility];
return 0;
}
Понимаю что бред, просто интересно, вдруг когда-то понадобится...
1. Вопервых не понятно как обратится из вне класса к содержимому TAttrType.
2. Вовторых не понятно может ли клас содержать static const переменную типа map, и как тогда ее инициализировать ?