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

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

c++ - VC++ 2013:使用声明+重新定义成员函数导致编译错误

我想允许通过指定策略来​​修改我的班级的行为。此策略应用作 boost::variant 的访问者。有适合大多数情况的默认策略,但用户可能需要添加或替换一些重载。

我发现 vc++ 2013 编译此代码时出现错误C3066: there are multiple ways that an object of this type can be called with these arguments。相同的代码在 gcc 和 clang 中按预期编译和工作。

它是 vc++ 2013 错误吗?


UPD这个例子适用于 vc++ 2010。看起来它是 2013 版本中的一个错误。


UPD解决方法

0 投票
1 回答
315 浏览

c++ - 值初始化与聚合初始化

我正面临值初始化与聚合初始化混合的问题。到目前为止,我试图依靠像这样进行所有初始化:

自动变量 = 类型{};

(是的,我知道大括号初始化器 ctor 与默认 ctor 的陷阱。所以请不要对此发表评论!)

我希望这将正确地“归零”或初始化 var 的内存。

但是在 VS 2013 Update 2 中,我看到了这个:

输出是这样的:

使用 GCC 4.7.2:

我读了这个,但我看不出这种非归零行为的原因:

http://en.cppreference.com/w/cpp/language/value_initialization http://en.cppreference.com/w/cpp/language/aggregate_initialization

那么,VS 2013 有问题吗?为什么它不将 a.b_stuff.g 数组清零?

0 投票
1 回答
2357 浏览

c++ - 无法打开包含文件:'basewin.h':没有这样的文件或目录

我试图弄清楚如何找到下载文件集或摆脱此错误的位置。这个难以捉摸的“basewin.h”无处可寻。所以我不知道我是否缺少图书馆或什么。我也尝试过切换“windows.h”和“basewin.h”语句。我试过禁用预编译的头文件。显然,该文件包含“basewindow”类的信息。

我正在使用 Visual Studio 2013 并且正在使用 win32 项目。我正在尝试从 microsoft 教程网站http://msdn.microsoft.com/en-us/library/windows/desktop/ff684181运行示例(v=vs.85).aspx。任何帮助将不胜感激。这是代码:

0 投票
1 回答
2278 浏览

git - 如何让visual studio自动将文件添加到项目中?

有没有办法让 Visual C++ 自动将项目目录中的所有源文件包含到项目中?我想在解决方案资源管理器中看到它们,并将它们包含在编译中。当您使用 git 时,无法这样做会成为一个问题。

0 投票
1 回答
545 浏览

c++ - 提供相同的 ostream 和 wostream 流运算符的任何捷径?

我想为一个类提供 ostream<< 和 wostream<< 运算符,除了一个是widestream 而另一个不是之外,它们是相同的。

是否有一些技巧可以做到这一点,而不仅仅是复制粘贴和进行必要的调整?

作为参考,这是必要的,因为我们使用 wostream 作为标准,但是当提供 no 时,Google-test 的 EXPECT_PRED3 编译失败ostream<<,即使其他宏可以愉快地使用ostreamor wostream

我的实际代码如下所示:

0 投票
3 回答
1563 浏览

visual-studio - 如何选择当前项目进行查找和替换

我没有看到告诉 VC++ 当前项目是什么的选项,因此我可以在我的解决方案中的特定项目中搜索,而不是整个解决方案。

在此处输入图像描述

它是作为其他操作的副作用而发生的,还是我可以以某种方式明确选择哪个项目是当前项目?

0 投票
2 回答
153 浏览

c++ - 我的班级有一个 toString() 方法,我如何使用它在 std::unordered_set 中进行散列?

MyClass定义operator==并具有非平凡的内部状态,但它确实提供了一种wstring toString()方法,该方法返回该状态的序列化版本。toString()所以我认为使用hash<wstring>on会很容易std::unordered_set

但是是否可以在不定义无关函子类的情况下以一种很好的方式做到这一点?在迁移到 VS2013 之后,我才刚刚开始掌握 C++11,我认为这是向前迈出的一大步,能够定义诸如 lambdas 之类的东西?

感谢任何建议如何最好地做到这一点。

0 投票
2 回答
13679 浏览

c++ - 如何从参数列表中推断出函数对象的返回类型?

我正在尝试编写一个可以将 avector<T>转换为 a的投影函数vector<R>。这是一个例子:

第一次尝试:

但对于

我得到:

错误 C2660:“选择”:函数不接受 2 个参数

我必须明确地打电话select<int,int>上班。我不喜欢这样,因为类型是多余的。

第二次尝试:

结果是相同的错误,函数不接受 2 个参数。在这种情况下,我实际上必须提供第三种类型的参数:

第三次尝试:

为了

错误是:

“选择”:“选择器”的模板参数无效,应为类模板

为了

错误 C2660:“选择”:函数不接受 2 个参数

(我知道最后两次尝试并不是特别好。)

如何编写此select()模板函数以用于我在开头放置的示例代码?

0 投票
2 回答
168 浏览

c - 从已设置为已定义()结果的宏中期望得到什么值?

在下面非常简单的 C 程序中,预期的编译器错误是什么?gcc 给了我 1 而 MSVC 2013 给了我 2。

我的问题希望同样简单:

  1. C 规范对defined() 的值有何规定?我似乎找不到任何关于将其值设置为另一个宏的内容。
  2. 实际代码不是我可以控制的,并且到处都在使用“#if bar”。更改#define 以使#if 栏在MSVC 中按“预期”工作的最简单方法是什么?我唯一能想到的就是扩展它:

.

0 投票
2 回答
1911 浏览

c++ - 将 NULL/nullptr 转换为 std::function<>& 时失败

此代码无法在 VC2013 中构建:(编辑:我不是在问为什么它无法构建)

有错误:

(注意最后两个报告的错误中的 '_Fx=int')。

我可以忍受这一点,因为更改MyStruct rc(NULL)MyStruct rc(nullptr)解决了错误。然而,有两件事仍然是个谜:

1)从 MyStruct ctor ( 中删除 const 限定符MyStruct( std::function<void()>& func)会产生非常非常不同的错误:

1>f:\work\main\dev\common\teststdfunction\teststdfunction\teststdfunction.cpp(16): 错误 C2664: 'MyStruct::MyStruct(const MyStruct &)' : 无法将参数 1 从 'int' 转换为 'std ::功能 &'

这比原始错误更有意义,现在将 NULL 修复为 nullptr不能解决它。为什么 int (或 nullptr )拒绝转换为std::function<>&但同意转换为 a const std::function<>&

2)原始代码在VS2010中按预期编译和工作。它是一个不起眼的 VS2010 库错误吗?


编辑:就 const/non const 问题而言,我现在认为涉及的强制转换和潜在的类型不匹配可能是一个红鲱鱼。传递的参数 - NULL 或 nullptr - 是文字,因此是 const。它只是不能绑定到非 const 引用。例如:

听起来对吗?我还缺少什么吗?