Sac*_*hin 7 ado.net visual-studio-2005 c++-cli
我正在使用C++语言当我尝试创建一个DataTable的简单对象时,我会收到一个奇怪的错误
System :: Data :: DataTable*myDataTable = new DataTable();
甚至我试过这个System :: Data :: DataTable myDataTable = new DataTable(); 得到以下错误请帮助.
错误C2750:'System :: Data :: DataTable':不能在引用类型上使用'new'; 使用'gcnew'代替错误C2440:'initializing':无法从'System :: Data :: DataTable*'转换为'System :: Data :: DataTable ^
Meh*_*ari 12
您使用的语言称为C++/CLI,而不是普通的C++.在C++/CLI中,您可以访问.NET之类的东西DataTable.语义与原始指针略有不同:
DataTable^ myDataTable = gcnew DataTable;
Run Code Online (Sandbox Code Playgroud)
" ^"表示托管句柄.在引擎盖下,它是指向GC堆上的对象的指针.您不能对托管句柄执行指针运算.你不是delete他们手动.GC会照顾他们.除非明确地固定它们,否则它也可以自由移动物体.gcnew用于在托管堆上分配对象.它返回一个句柄,而不是一个原始指针.您无法在非托管C++堆上使用创建.NET引用类型new.
| 归档时间: |
|
| 查看次数: |
1980 次 |
| 最近记录: |