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

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 回答
3634 浏览

atl - 替换已弃用的 atl 属性

我应该如何替换已弃用的 atl 代码(Visual Studio 2015 警告 C4467)?
数据结构在文件 DataType.h 中

IDL 文件包含使用此结构的方法声明,如下所示:

我没有得到的是,在同一个结构中有LPWSTR没有属性的定义。[string]它已经工作了十年:/微软帮助页面https://msdn.microsoft.com/en-gb/library/8tesw2eh.aspx指出

[string]指示必须将一维 char、wchar_t、byte 或等效数组或指向此类数组的指针视为字符串。

所以我必须想办法告诉 DCOM 这WCHAR *是一个字符串。但为什么以及如何?

好的,我在 Guy 和 Henry Eddon 的“Inside Distributed COM”一书中找到了指示。他们声明,该[string]属性允许用户在不定义实际字符串长度的情况下发送字符串。如果省略该属性,则必须使用CoTaskMemAllocand来实现该字符串的内存管理CoTaskMemFree

0 投票
0 回答
255 浏览

compiler-errors - 致命错误 LNK1104:无法打开文件 '_WINSOCK_DEPRECATED_NO_WARNINGS.obj'

我在我的 C++ 项目中添加_WINSOCK_DEPRECATED_NO_WARNINGS了预处理器定义,但我看到了这个错误:

致命错误 LNK1104:无法打开文件 '_WINSOCK_DEPRECATED_NO_WARNINGS.obj'

谁能帮我?谢谢。

0 投票
0 回答
50 浏览

c++11 - VC错误?评估为 constexpr 的非 constexpr 函数模板

Microsoft Visual Studio Professional 2015 版本 14.0.25431.01 Update 3在编译以下代码 时不会出现错误。我错过了什么吗?


谢谢你。

0 投票
1 回答
437 浏览

variadic-macros - VC错误?编译器无法计算 __VA_ARGS__' 参数

Microsoft Visual Studio Professional 2015 版本 14.0.25431.01 Update 3在编译以下代码时出现错误。对我来说似乎是一个错误。


谢谢你。

0 投票
1 回答
4788 浏览

visual-studio - 如何禁用某个项目的并行构建?

我的两个项目需要大量 RAM 进行编译。我已经想通了,如何确定它们不是并行构建的——通过指定构建顺序。现在我还想确定,没有从同一个项目并行编译的多个 .cpp 文件与关键文件并行编译。有人有什么线索吗?但我绝对希望为所有其他项目启用并行构建选项。

0 投票
1 回答
79 浏览

visual-studio-2015 - visual studio 2015 调试器可视化工具停止工作

从昨天开始,我在监视窗口中检查 STL 变量和提升变量的能力突然消失了。我已经寻找解决方案。

  1. 我已经在 tools-options-debugging 下面寻找了选项——例如 use-Managed-Compatibility 已关闭。
  2. 我还尝试重新安装 Visual C++。
  3. 我也尝试以管理员身份运行。
  4. 我尝试将整个源代码树重新创建到一个新目录中并从头开始重建。
  5. 我还确定我正在使用本机调试器。
  6. 我重新安装了 boost 可视化工具。
0 投票
1 回答
49 浏览

c++ - 两个UShorts之间的操作在VC2015中给出了一个int?

以下代码error C2397: conversion from 'int' to 'ushort' requires a narrowing conversion在使用 Visual Studio 2015 编译时会出现错误。

该表达式a | b似乎int在一种情况下返回 a ushort,在另一种情况下返回 a 。

我无法理解这一点。
你能解释一下这里发生了什么吗?


PS:确切的编译器版本:Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86

0 投票
1 回答
3133 浏览

c - 在 Visual Studio 2015 中强制执行 ANSI C 标准

我试图让 Visual Studio 在编译项目时强制执行 ANSI C 标准,但我无法让它工作。有小费吗?我已阅读所有教程,启用了 /Za 选项,并将我的文件命名为 .c(不是 .cpp)。但是,以下程序仍然可以成功构建:

但它不应该。尊重 ANSI C 标准必须是这样的:

我想要 GCC 选项“ -ansi ”和“ -Wpedantic ”的等效项。这在VS中甚至可能吗?

0 投票
1 回答
1108 浏览

c++ - 为什么 Visual C++ 2015 允许 std::atomic 赋值?

几天前,我写了如下内容:

使用 VC++2015 编译器在 Visual Studio 2015 Update 3 中编译,没有出现任何错误。
现在我在 Ubuntu 上用 GCC (5.4.0) 重新编译了同样的东西并得到了错误:

使用已删除的函数 'std::atomic::atomic(const std::atomic&)

我在ideone上遇到了同样的错误,设置为 C++14(不确定它使用的是什么编译器版本)。

当然,将代码更改为以下内容可以解决 gcc 的问题:

我的问题是:
1. 谁是正确的(符合 C++11),VC++ 还是 GCC?似乎 VC++ 从 bool 调用构造函数,而 GCC 调用复制构造函数(已删除)。
2.为了在类声明中初始化原子的默认值,统一初始化(以上)是正确/首选的方式吗?或者我应该改用 ATOMIC_VAR_INIT 宏(啊!)?

0 投票
2 回答
3336 浏览

c++ - 将 uint32_t 转换为 uint64_t 会产生不同的值?

使用 Visual Studio 2015 C++,14.0.25431.01 更新 3。我的代码中有意外行为。64位编译运行,发布:

我期望它a具有b相同的值,但是当我运行它时,我得到了这个输出:

看起来编译器用 64 位乘法替换了 32 位乘法。是否允许这样做,或者这是一个编译器错误?g++ 和 clang 都给了我期望的数字。

编辑:我已经用一个有同样问题的更简单的版本更新了我的代码。另外,我刚刚提交了一个错误报告