问题标签 [visual-c++-2019]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
543 浏览

c++ - std::strong_ordering 如何仅适用于零?

我只是在研究一个三向比较运算符<=>。我看到它返回std::strong_ordering。但是,我无法理解编译器如何仅0在比较运算符(so<0但不是so<1)中进行限制

同样,so>20也不行。以下也不起作用:

编辑- 有趣的观察(在 MSVC 编译器上)。以下是有效的:

so < nullptr

0 投票
2 回答
159 浏览

c++ - 为什么 std::size 的结果不是编译时间或不是 size_t?

在 Visual C++ 2019 上:

以下代码呈现警告:

warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data

但是使用_countof(events)不会给出任何警告。请注意,std::size调用的是模板重载函数。这个:

本质上返回 a size_t,而函数是constexpr. 这就是数组声明有效的原因:

但以下代码不会在没有警告的情况下编译:

这没关系:

有什么具体原因,还是编译器错误?

相关: sizeof 运算符的返回类型是什么?

编辑,有趣的是,这些也可以正常工作:

变量s1s2被视为真正的编译时值,而不是std::size()结果本身!

0 投票
2 回答
188 浏览

c++ - Visual Studio 2019 中不允许成员重新声明(在 VS 2013 中成功编译的相同代码)

从 Visual Studio 2013 迁移到 Visual Studio 2019 编译器时,出现以下错误。请帮助我修复相同的问题。

我在下面的头文件 (.h) 中声明了该函数:

并且 cpp 文件包含构造函数的定义。

//pusedo代码

错误:

1.CsaHcComposedItem.cpp(70):错误 C2761:'{ctor}':不允许重新声明成员 2.CsaHcComposedItem.cpp(70):错误 C2059:语法错误:':' 3.CsaHcComposedItem.cpp(70) :错误 C2065:'type_in':未声明的标识符 4.CsaHcComposedItem.cpp(70):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 5.CsaHcComposedItem.cpp(71):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 6.CsaHcComposedItem.cpp(72):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 7.CsaHcComposedItem.cpp(73):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 8.CsaHcComposedItem.cpp(74):错误 C4430:缺少类型说明符 - 假定为 int。笔记:C++ 不支持默认整数 9.CsaHcComposedItem.cpp(75):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 10.CsaHcComposedItem.cpp(78):错误 C2448:'myPixelArray':函数样式初始化程序似乎是函数定义

0 投票
1 回答
2175 浏览

visual-studio - Microsoft.Cpp.Win32.user.props 文件丢失

几天前,我通过全新安装设置了 Windows 10,然后在其上安装了 Visual Studio 2019 Community。

Microsoft.Cpp.Win32.user.props现在,我想自定义Microsoft.Cpp.x64.user.props文件来为我的所有 VC++ 项目添加额外的包含路径。

但是我在全新的机器上找不到这些文件。它们应该位于%localappdata%\Microsoft\MSBuild\v4.0,但没有MSBuild目录。

这是否意味着 Visual Studio 的安装失败,或者我需要一些额外的过程来创建默认的 *.user.props 文件?我已经确认 VC++ 可以构建一个简单的 hello-world 项目。

编辑:附上物业经理的截图。没有用户属性表。

物业经理

0 投票
0 回答
26 浏览

assembly - 执行汇编函数的访问冲突

汇编代码:

C++ 代码:

我一点也不知道为什么会这样,因为使用 x86_64 "rax" 和 "rcx" 并不能解决它。正如您可能猜到的那样,我并不真正了解汇编,但我想至少学一点。

0 投票
1 回答
714 浏览

c++ - 在 MSVC 16.6.0 中找不到 std::popcount 标识符

我做错了什么还是微软std::popcount对 Visual Studio 16.6.0 版本的支持中断了?

我正在使用 Microsoft Visual Studio 16.6.0,将 C++ 语言标准设置为Preview - Features from the Latest C++ Working Draft (std:c++latest)并尝试从 cppreference 编译 popcount 示例代码

尽管 cppreference 声明自 16.5 版和 MSVC 16.6 定义功能宏以来已支持位操作 ( P0553R4 ) ,但上述代码仍会出现以下错误:__cpp_lib_bitops

当我查看bit标题时,我确实看到了一个模板popcount,但它似乎对我的应用程序被禁用。

0 投票
1 回答
86 浏览

c++ - MSVC 2019:C++ for 循环中逗号分隔条件的顺序更改警告

将以下代码从 VS2017 移植到 2019 会弹出一个新警告(这是原始版本的简化版本)。

main.cpp(18,90):警告 C4834:丢弃具有“nodiscard”属性的函数的返回值

请注意,for 循环有两个逗号分隔的初始化程序、两个逗号分隔的条件等。如果我j < N从 for 循环中删除条件,警告就会消失。如果我交换这两个条件,也没有警告。

我假设!=运算符有一些被丢弃的返回值,如果它是唯一的条件,或者如果它是最后一个条件,它不会被丢弃?这是编译器的预期行为吗?

0 投票
3 回答
4684 浏览

c++ - 如何更改 Visual Studio 2019 中的默认 C++ 语言标准?

我想在我的项目中使用 C++17,而不必在开始新项目时总是在属性中更改它。这可能吗?

谢谢!

0 投票
0 回答
615 浏览

datagridview - 所选项目没有可显示的数据源

我目前遇到以下问题。

当前配置:

Microsoft Visual Studio Community 2019 版本 16.8.0 预览版 3.2

Microsoft Visual Studio 社区 2019 版本 16.7.5

(注意:以上两个版本都会出现问题。)

微软 Visual C++ 2019 (00435-60000-00000-AA566)

Microsoft .NET 框架版本 4.8.03752

微软 Windows 10 专业版 18363

SQL Server 数据工具 (16.0.62009.04150)

VS Workload:使用 C++ 进行桌面开发

问题描述:

我在表单上放置了一个 dataGridView 组件。当我尝试向 dataGridView 添加数据源时,“添加新数据源”选项显示为灰色。

截图如下:

所选项目没有可显示的数据源

没有数据源

注意:我可以通过服务器资源管理器中的数据连接成功地将数据连接添加到本地 SQL Express 实例。

我已经多次卸载并重新安装了 VS Community 2019 版本 16.7.5。我目前使用的是 VS Community 2019 Preview 版本 16.8.0 – 相同的场景和配置。出现同样的问题。

我也在第二台计算机上安装、卸载和重新安装。出现同样的问题。

问题:

如何使“添加新数据源”按钮变为活动状态(以便我可以选择它来添加数据源)?

非常感谢您的指导和帮助(以及您宝贵的时间)。

谢谢你。

0 投票
0 回答
302 浏览

boost - 我现在可以将 boost 用作 c++20 模块吗?

我正在使用“Visual Studio 2019 16.8 Preview 3”

我现在可以将 boost(或其中的一部分)作为 C++20 模块导入吗?我正在使用由 vcpkg 安装的 boost 1.73.0。

顺便说一句,我不确定为什么使用此页面boost作为示例, https://vector-of-bool.github.io/2019/03/10/modules-1.html