问题标签 [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.
c++ - std::strong_ordering 如何仅适用于零?
我只是在研究一个三向比较运算符<=>
。我看到它返回std::strong_ordering
。但是,我无法理解编译器如何仅0
在比较运算符(so<0
但不是so<1
)中进行限制
同样,so>20
也不行。以下也不起作用:
编辑- 有趣的观察(在 MSVC 编译器上)。以下是有效的:
so < nullptr
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
. 这就是数组声明有效的原因:
但以下代码不会在没有警告的情况下编译:
这没关系:
有什么具体原因,还是编译器错误?
编辑,有趣的是,这些也可以正常工作:
变量s1
和s2
被视为真正的编译时值,而不是std::size()
结果本身!
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':函数样式初始化程序似乎是函数定义
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 项目。
编辑:附上物业经理的截图。没有用户属性表。
assembly - 执行汇编函数的访问冲突
汇编代码:
C++ 代码:
我一点也不知道为什么会这样,因为使用 x86_64 "rax" 和 "rcx" 并不能解决它。正如您可能猜到的那样,我并不真正了解汇编,但我想至少学一点。
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
,但它似乎对我的应用程序被禁用。
c++ - MSVC 2019:C++ for 循环中逗号分隔条件的顺序更改警告
将以下代码从 VS2017 移植到 2019 会弹出一个新警告(这是原始版本的简化版本)。
main.cpp(18,90):警告 C4834:丢弃具有“nodiscard”属性的函数的返回值
请注意,for 循环有两个逗号分隔的初始化程序、两个逗号分隔的条件等。如果我j < N
从 for 循环中删除条件,警告就会消失。如果我交换这两个条件,也没有警告。
我假设!=
运算符有一些被丢弃的返回值,如果它是唯一的条件,或者如果它是最后一个条件,它不会被丢弃?这是编译器的预期行为吗?
c++ - 如何更改 Visual Studio 2019 中的默认 C++ 语言标准?
我想在我的项目中使用 C++17,而不必在开始新项目时总是在属性中更改它。这可能吗?
谢谢!
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 – 相同的场景和配置。出现同样的问题。
我也在第二台计算机上安装、卸载和重新安装。出现同样的问题。
问题:
如何使“添加新数据源”按钮变为活动状态(以便我可以选择它来添加数据源)?
非常感谢您的指导和帮助(以及您宝贵的时间)。
谢谢你。
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