C ++ / CLI Console :: WriteLine,带有用户定义对象的向量

时间:2018-02-10 04:21:28

标签: c++-cli

我有一个用户自定义对象的向量,我想简单地将一些类成员(字段?)输出到控制台,但是当我尝试时,程序崩溃了。我试图直接显示'EmployeeID'(它是一个Int),以及将它转换为System :: String和std :: string,每个使用几种方法(编组,转换为char数组等)

std::vector<Employee> employee;
System::Console::WriteLine("Employee ID: " + employee.at(i).getEmployeeId());

我不知道为什么我不能简单地打印到控制台,但我对CLI很新,所以也许这是一个简单的修复和一个简单的错误?我对employee对象中存储的其他变量有同样的问题,其他项目是std :: string type。

对于其他成员,我更喜欢使用System :: String而不是std :: string,但是当我这样做时,我得到一个奇怪的错误消息(“非托管类的成员不能有ref类类型或接口类类型“)。对这两个问题的任何帮助都会很棒,但这篇文章专门针对Console :: WriteLine问题。

1 个答案:

答案 0 :(得分:0)

根据@Ben Voight的建议:

将我的班级改为&#34;参考&#34;我和我的所有std :: string项到System :: String ^项都有效。

(它确实导致了我的代码的其他问题,但这是一个不同的问题,与他的答案/解决方案修复了这个特定问题/问题无关。)