Присвоение значения указателю unordered_map после создания его экземпляра - PullRequest
0 голосов
/ 29 марта 2012

Я использую неупорядоченный указатель карты из-за C ++ / Cli в Visual Studio 2008 (с помощью приложения Windows Forms), но я не могу присвоить ему значение, оно выдает ошибку, как показывает мой пример кода

 //...
    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"; // The Error is in this line, this is the line 37
        cout << this->Accounts["hello"];
        InitializeComponent();
        //
        //TODO: Add the constructor code here
        //


    }
    //...

Ошибка дана:

Ошибка 4, ошибка C2107: недопустимый индекс, перенаправление не допускается C: \ Projects \ Test \ Login.h 37

Надеюсь, мой код был достаточно четким, чтобы вы могли его визуализировать.

Заранее спасибо.

1 Ответ

3 голосов
/ 29 марта 2012

Accounts - указатель, вам нужно разыменовать его:

(*this->Accounts)["hello"] = "test";
cout << (*this->Accounts)["hello"];
...