描述:
_variant_t s
1,我要让他变成string,或int。还有反过来怎么做?
#include<iostream.h>
#include<string.h>
#include <stdio.h>
void main()
{
_variant_t s;
s = "asdfafds";
char * aa="123";
int bb=aa;
cout<<s<<endl;
cout<<bb<<endl;
}
-----------------
error C2065: '_variant_t' : undeclared identifier
2,在使用_variant_t类型前要引入什么类吗?
解决方案1:
_variant_t s(123, VT_I4)这句话有错,对重载函数的调用不明确。应该这样写:
long t=123;
_variant_t s(t,VT_I4);
char *buffer = _com_util::ConvertBSTRToString((_bstr_t)va);
解决方案3: switch (var.vt)
{
case VT_BOOL:
value = var.boolVal;
break;
case VT_UI1:
case VT_I1:
value = var.bVal;
break;
case VT_I2:
case VT_UI2:
value = var.iVal;
break;
case VT_NULL:
case VT_EMPTY:
value = 0;
break;
default:
TRACE(_T("Warning: 未处理的 _variant_t 类型值; 文件: %s; 行: %d\n"), __FILE__, __LINE__);
}
return value;
2. #include <comdef.h>