Почему я не могу хранить управляемую переменную в неуправляемом классе? - PullRequest
0 голосов
/ 19 декабря 2010

У меня есть настройка пользовательского интерфейса в Visual Studio 2005, которая имеет текстовое поле и кнопку.Я пытаюсь сохранить текст в текстовом поле, когда кнопка нажата с использованием storeText (String ^).Моя ошибка компиляции говорит, что «не может объявить управляемую переменную в неуправляемом классе».Почему я не могу это сделать?Каково правильное решение моей проблемы.Я использую Visual C ++.

#include <string>
using System::String;

class Stuff
{
public:
Stuff()
{
}

void storeText(String^ s)
{
    something = s;
}

String^ getText()
{
    return something;
}

private:
String^ something;
};

1 Ответ

0 голосов
/ 19 декабря 2010

Если вы находитесь в неуправляемом коде, то GC не будет знать, какие ссылки у вас есть или нет.Вы должны преобразовать его в собственный std :: string и затем использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...