【发布时间】:2013-08-09 12:46:36
【问题描述】:
我正在尝试通过引用(使用函数)来更改变量值。
我的功能:
void chgVariable(String^ *trgvari,String^ trgvarival)
{
*trgvari = trgvarival;
}
我的变量:
String^ myStringVar;
如何使用:
chgVariable(&myStringVar, gcnew String("Test"));
但我收到此错误:
无法将参数 1 从 'cli::interior_ptr' 转换为 'String ^*'
【问题讨论】:
-
您是否尝试过使
trgvari参数成为正确的C++ 引用而不是指向C++CLI“指针”的指针?例如。将其声明为String^& trgvari,然后在调用函数时不使用地址运算符传递它。 -
同样的错误。我正在“私有区域”私有中“创建”变量:System::ComponentModel::Container ^components;字符串^ myStringVar;有问题吗?
-
您需要使用托管引用:void chgVariable(String^% trgvari, String^ trgvarival)