我在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;
};
答案 0 :(得分:0)
如果您使用的是非托管代码,那么GC将不知道您拥有或未使用的引用。您应该将其转换为本机std :: string然后使用它。