ste*_*voh 5 c++ mfc visual-studio-2022
我是一名长期的 Java/C# 开发人员,我正在尝试使用 Richard Jones 于 2000 年出版的一本书自学 C++,特别是 MFC。
我收到此编译错误:
'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::Format':没有重载函数可以转换所有参数类型
我从书中的示例中输入了以下代码:
int r;
double rd;
int i;
CString s;
std::cout << "\nLargest random integer: " << RAND_MAX << std::endl;
//Provide seed for generator
srand((unsigned)time(NULL));
std::cout << "\n5 random integers: \n";
for (i = 0; i < 5; i++) {
r = rand();
s.Format("%d ", r);
std::cout << s << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 Visual Studio 2022,我想知道是否需要对其进行不同的配置才能使用 20 多年前的示例?
也许与我的困惑有关,我什至没有看到CString此处列出的类:演练:使用新的 MFC Shell 控件- 仅CStringArray和CStringList。
按照我书中的指示,我尝试在控制台程序中使用这些 MFC 类作为起点。我在项目属性中将 C++ 语言标准设置为“默认(ISO C++14 标准)”。我想知道将其设置为 2000 年左右的标准是否会有帮助?
默认情况下,Visual Studio 中的字符集设置为 Unicode,这就是您收到错误的原因。
要解决该问题,请按照以下步骤操作:
单击“确定”,您的代码应该可以编译。
所需包含文件:
#include <atlstr.h>
#include <iostream>
#include <ctime>
Run Code Online (Sandbox Code Playgroud)