0

这令人困惑。我理解指针,但跟踪引用是什么?
即使在 wiki 上,关于该做什么的说明也不是很清楚,更不用说我从来没有在 adv C++ 中教过这个。那么,如何将列表框中的项目放入我的一个类中?
另外,我能否简要介绍一下跟踪参考资料以供将来参考?

我的表单有一个名为 listbox2 的列表框,其中包含一些数据。

我的班级“ManifistOBJ”有一个名为“setFilename(char*)”的方法

现在在其他程序中,我可以轻松地将对象添加到“AddFilename”方法中,但我该如何为跟踪参考做呢?

Sofar iv尝试过:

DMManifest newmanifest = DMManifest();
         for(int i =1;i< listBox2->Items->Count;i++)
         {
             ManifistOBJ newobj = ManifistOBJ();
             System::String^ temp = listBox2->Items[i]->ToString();
             String temp1 = temp;//?
             char* temp2 = temp1.c_str();
             newobj.setFilename(temp2);
             newmanifest.push_back(newobj);
         }

使用字符串旁边的 ^ ,我无法对它进行 DE 引用。我不知道该怎么做。我可以使该方法采用字符串^,但这会弄乱我使用该库的其他程序。

4

1 回答 1

1
#include <msclr/marshal_cppstd.h>

System::String^ temp = listBox2->Items[i]->ToString(); 

std::string temp1 = msclr::interop::marshal_as< std::string >( temp );

C++/CLI 从 System::String^ 转换为 std::string

于 2013-08-26T22:21:11.487 回答