Enums 如何在C+中将C可为null的枚举强制转换为int+/CLI
我想将C#可为null的枚举转换为int 现在,我有一些类似于: c# c++/cliEnums 如何在C+中将C可为null的枚举强制转换为int+/CLI,enums,c++-cli,nullable,Enums,C++ Cli,Nullable,我想将C#可为null的枚举转换为int 现在,我有一些类似于: c# c++/cli function(System::Nullable<Dir> d){ if(d != NULL){ (int)d; error C2440: 'type cast' : cannot convert from 'System::Nullable<T>' to 'int' } } 函数(系统::可为null的d){ 如果(d!=NULL){ (int)d;错
function(System::Nullable<Dir> d){
if(d != NULL){
(int)d; error C2440: 'type cast' : cannot convert from 'System::Nullable<T>' to 'int'
}
}
函数(系统::可为null的d){
如果(d!=NULL){
(int)d;错误C2440:“类型强制转换”:无法从“System::Nullable”转换为“int”
}
}
那么,如何强制转换可为null的枚举?
没有这样的可空int c++/CLI或
谢谢您应该能够使用
.value
属性访问Nullable
的值,并将其强制转换为int
免责声明:我从未使用过C++/CLI,您需要使用它来测试null(出于某种原因,C++/CLI不允许您与nullptr
进行比较),并且您可以使用它来检索值,然后将其转换为整数
void function(System::Nullable<Dir> d){
if(d.HasValue){
int i = (int)d.Value;
}
}
void函数(系统::可为null的d){
if(d.HasValue){
int i=(int)d.值;
}
}
void function(System::Nullable<Dir> d){
if(d.HasValue){
int i = (int)d.Value;
}
}