String 如何从C++/CLI?

String 如何从C++/CLI?,string,c++-cli,String,C++ Cli,我尝试以下方法 String ^displayEmail(void){return (^Registration_List[0]);}; VC++2010编译器显示以下内容: Error 1 error C3192: syntax error : '^' is not a prefix operator (did you mean '*'?) c:\users\marco\desktop\cs351\hw3\project3\CRegistration.h 43 1 P

我尝试以下方法

String ^displayEmail(void){return (^Registration_List[0]);};
VC++2010编译器显示以下内容:

Error   1   error C3192: syntax error : '^' is not a prefix operator (did you mean '*'?)    c:\users\marco\desktop\cs351\hw3\project3\CRegistration.h   43  1   Project3
Error   2   error C2440: 'return' : cannot convert from 'System::String' to 'System::String ^'  c:\users\marco\desktop\cs351\hw3\project3\CRegistration.h   43  1   Project3

市集^是按位异或运算符 你不能在定义中使用它


登记表的类型是什么? 第一个看起来不错,但第二个不好。 -阿克希普2012年3月9日3:03


尝试简单地删除^s。从我所看到的,它们是被管理的等价的*(指针),你可能不想返回。不管怎样,在这个问题上C++标签只是把很多人弄得乱七八糟,并导致你得到很多不准确的答案。需要明确的是,这是C++/CLI。注册列表的类型是什么?第一个“^”似乎可以,但第二个不可以。我承认我没有使用C++/CLI,但它仍然不会返回指针的等效值吗?无论如何,正如编译器所指出的,
^Registration\u列表[0]
不起作用。从Jesse的链接中,我想您可能要查找的是
%Registration\u List[0]
,因为
%
是操作员的托管地址。@CodyGray谢谢。我应该只标记cliIt,它在微软的C++-CLI中有额外的含义。