问题标签 [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.
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]
属性允许用户在不定义实际字符串长度的情况下发送字符串。如果省略该属性,则必须使用CoTaskMemAlloc
and来实现该字符串的内存管理CoTaskMemFree
。
compiler-errors - 致命错误 LNK1104:无法打开文件 '_WINSOCK_DEPRECATED_NO_WARNINGS.obj'
我在我的 C++ 项目中添加_WINSOCK_DEPRECATED_NO_WARNINGS
了预处理器定义,但我看到了这个错误:
致命错误 LNK1104:无法打开文件 '_WINSOCK_DEPRECATED_NO_WARNINGS.obj'
谁能帮我?谢谢。
variadic-macros - VC错误?编译器无法计算 __VA_ARGS__' 参数
Microsoft Visual Studio Professional 2015 版本 14.0.25431.01 Update 3在编译以下代码时出现错误。对我来说似乎是一个错误。
谢谢你。
visual-studio - 如何禁用某个项目的并行构建?
我的两个项目需要大量 RAM 进行编译。我已经想通了,如何确定它们不是并行构建的——通过指定构建顺序。现在我还想确定,没有从同一个项目并行编译的多个 .cpp 文件与关键文件并行编译。有人有什么线索吗?但我绝对希望为所有其他项目启用并行构建选项。
visual-studio-2015 - visual studio 2015 调试器可视化工具停止工作
从昨天开始,我在监视窗口中检查 STL 变量和提升变量的能力突然消失了。我已经寻找解决方案。
- 我已经在 tools-options-debugging 下面寻找了选项——例如 use-Managed-Compatibility 已关闭。
- 我还尝试重新安装 Visual C++。
- 我也尝试以管理员身份运行。
- 我尝试将整个源代码树重新创建到一个新目录中并从头开始重建。
- 我还确定我正在使用本机调试器。
- 我重新安装了 boost 可视化工具。
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
c - 在 Visual Studio 2015 中强制执行 ANSI C 标准
我试图让 Visual Studio 在编译项目时强制执行 ANSI C 标准,但我无法让它工作。有小费吗?我已阅读所有教程,启用了 /Za 选项,并将我的文件命名为 .c(不是 .cpp)。但是,以下程序仍然可以成功构建:
但它不应该。尊重 ANSI C 标准必须是这样的:
我想要 GCC 选项“ -ansi ”和“ -Wpedantic ”的等效项。这在VS中甚至可能吗?
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 宏(啊!)?
c++ - 将 uint32_t 转换为 uint64_t 会产生不同的值?
使用 Visual Studio 2015 C++,14.0.25431.01 更新 3。我的代码中有意外行为。64位编译运行,发布:
我期望它a
具有b
相同的值,但是当我运行它时,我得到了这个输出:
看起来编译器用 64 位乘法替换了 32 位乘法。是否允许这样做,或者这是一个编译器错误?g++ 和 clang 都给了我期望的数字。
编辑:我已经用一个有同样问题的更简单的版本更新了我的代码。另外,我刚刚提交了一个错误报告。