unordered_map<std::string, std::string>* Accounts;
У меня есть этот код для инициализации с помощью указателя, я мог бы просто оставить указатель (*) вне него и напрямую назначить ему значение, но проблема в том, что я использую C ++ / Cli Visual Studio 2008 и я не могу определить переменную там в области видимости класса
потому что выдает эту ошибку:
ошибка C4368: невозможно определить «Аккаунты» как члена управляемого
'Test :: Login': смешанные типы не являются
поддерживается C: \
Проекты \ Test \ Login.h 32
Итак, мне сказали, что я должен сделать указатель и затем инициализировать его в конструкторе, но как мне создать его из указателя? (Я думал что-то вроде Accounts = new unordered_map)
Я использую, чтобы всегда идти прямо.
Надеюсь, я был достаточно ясен.
@ редактировать
public ref class Login: public System::Windows::Forms::Form
{
public:
unordered_map< std::string, std::string >* Accounts;
Test(void)
{
this->Accounts = new unordered_map<std::string, std::string>();
this->Accounts["hello"] = "test";
cout << this->Accounts["hello"];
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
выдает эту ошибку:
Ошибка 4: ошибка C2107: недопустимый индекс, косвенное обращение
разрешено C: \ Projects \ Test
Login.h 37
Заранее спасибо!