C++ 导入到VC++;2005?

C++ 导入到VC++;2005?,c++,visual-c++,mfc,visual-c++-6,visual-c++-2005,C++,Visual C++,Mfc,Visual C++ 6,Visual C++ 2005,我用VC++6.0编写代码,并将其导入到VC++2005中。 我现在在unicode插入中遇到了一个不明确的错误 CString s; s.Format("%f\r\n", (double)timebTime.time + (double)timebTime.millitm / 1000); s+="RAMP,"; s+=0x00b5; // <-- Error: VC++(2005): "error C2593: 'operator +=' is ambiguous" s+="m

我用VC++6.0编写代码,并将其导入到VC++2005中。 我现在在unicode插入中遇到了一个不明确的错误

CString s;

s.Format("%f\r\n", (double)timebTime.time + (double)timebTime.millitm / 1000);
s+="RAMP,"; 
s+=0x00b5;  // <-- Error: VC++(2005):  "error C2593: 'operator +=' is ambiguous"
s+="m";
csts;
s、 格式(“%f\r\n”,(双精度)timebTime.time+(双精度)timebTime.millitm/1000);
s+=“斜坡”;

s+=0x00b5;// 请注意,VC++6.0的默认编译模型是ANSI/MBCS(即
TCHAR
char
CString
是一系列
char
,等等),而VC++2005的默认编译模型是Unicode(即
TCHAR
wchar\u t
CString
实际上是一个
CStringW
,即
wchar\u t
字符串)

我只想使用Unicode模型(不必担心ANSI/MBCS兼容性和
TCHAR
\u t(“…”
)等),然后像这样调整代码:

static const wchar_t microSign = 0x00B5;

CString s;  
s.Format(L"%f\r\n", 
    static_cast<double>(timebTime.time) +
    static_cast<double>(timebTime.millitm) / 1000.0);
s += L"RAMP,"; 
s += microSign;
s += L"m";
静态常量wchar\u t microSign=0x00B5;
csts;
s、 格式(L“%f\r\n”,
静态广播(timebTime.time)+
静态_-cast(timebTime.millitm)/1000.0);
s+=L“斜坡”;
s+=微信号;
s+=L“m”;
请注意,使用命名常量(如
microSign
)比使用“幻数”(如
0x00B5
)更易于阅读

此外,我会将格式字符串(包括“
RAMP,µm
”部分)存储在应用程序资源中,并从那里加载它,而不是将其构建在源代码中。

这是MFC提供的,对吗?