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

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

visual-studio - 寻求文件名与 Visual C++ 头文件冲突的解决方法

我们的代码包括vector,其中包括memory,其中包括微软的intrin.h,但我们intrin.h在我们的包含路径上有一个我们自己的。因此memory选择我们的intrin.h而不是系统的,并且无法编译。

我们intrin.h和微软都已经存在多年了,但我们之前从未发生过冲突——VS 2010 引入了一个新的依赖项。移动或重命名我们的intrin.h会很痛苦,我宁愿避免它。

有什么方法可以说服 MSVC 在我们自己之前查看系统包含目录吗?编辑memory说:

而不是

可行,但我不希望整个团队都必须修改他们的 Visual Studio 环境(并在面对服务包等时保持修改)

还有其他解决方法吗?

0 投票
4 回答
61964 浏览

c++ - 我应该将 .vcxproj.filter 文件添加到源代码管理吗?

在评估 Visual Studio 2010 Beta 2 时,我看到在转换后的目录中,我的vcproj文件变成了 vcxproj文件。每个项目旁边还有vcxproj.filter文件,这些文件似乎包含文件夹结构的描述(\Source Files、\Header Files 等)。

您认为这些过滤器文件应该按用户保留,还是应该在整个开发组中共享并签入 SCC?

我目前的想法是检查它们,但我想知道是否有任何理由不这样做,或者也许是我一定要检查它们的充分理由。

明显的好处是,如果我正在查看其他人的机器,文件夹结构将匹配,但也许他们想在逻辑上重新组织事物?

0 投票
3 回答
801 浏览

c++ - 确定内存中函数/存根/命名空间的大小

我在一个名为stub. 我必须确定命名空间的确切起始地址和结束地址,至少是内存中命名空间的大小(将这些函数复制到另一个进程中)。虽然这在 Visual C++ 2008 中通过添加一个

在命名空间的末尾并使用

来确定存根的大小。

这是因为 Visual C++ 保留了 .cpp 文件中的函数顺序,但在 Visual C++ 2010 中似乎不再如此。

如何使用编译指示指令、编译器/链接器工具或类似工具找出函数或整个命名空间/存根的大小?

0 投票
2 回答
1704 浏览

c++ - 如果从 lambda 内部调用,则无法实例化使用 decltype 推断返回类型的函数模板?

我正在尝试使用 C++0x,特别是 lambda 表达式和 decltype 来简化我的一些代码,使用 MSVC10 RC 编译器。

我遇到了以下非常奇怪的问题:

如注释中所示,编译器在该行生成错误foo([]() { })

我讨厌大喊“编译器错误”,但我真的看不出这个错误有什么好的解释。显然,在外部 lambda 表达式内部时,编译器无法 foo为内部 lambda 专门化函数模板。

但是,如果将 的定义foo更改为硬编码返回类型,如下所示:

然后一切都编译得很好。

当用于在我不知道的另一个 lambda 范围内推断 lambda 表达式参数的返回类型时,是否存在一些模糊的 decltype 怪癖?

0 投票
2 回答
12000 浏览

c++ - 在 Visual C++ 中 switch 是如何编译的,它的优化和速度如何?

当我发现我只能在 C++ 的switch语句中使用数值时,我认为它与一堆if-else's 之间一定有更深层次的区别。

因此我问自己:

  • (如何)在运行时速度、编译时优化和一般编译方面有什么switch不同?if-elseif-elseif我这里主要说的是MSVC。
0 投票
5 回答
39980 浏览

visual-c++ - Visual Studio Express 2010 许可证

我可以将 Visual C++ 2010 Express 编译器用于商业用途吗?据我所知,在 2010 版本之前它总是被允许的,但现在当我启动 IDE 时,它会写“仅用于评估目的”。我在任何地方都找不到完整的许可证文件(不在已安装的文件中,不在 Google 中),所以我很怀疑,我应该使用它,还是应该降级到 MSVC++2008 版本。

0 投票
1 回答
3222 浏览

c++ - Visual C++ 2010 Express:扩展 SDK 可用?

据称,与以前的版本不同,Visual C++ 2010 Express 支持第三方扩展。我刚刚下载了 Visual Studio 2010 的候选版本 SDK,但安装程序失败说我没有安装 Visual Studio(这是真的,因为我使用 Visual C++ 2010 Express)。我错过了什么吗?是否有适用于 Express 的扩展 SDK 版本?

0 投票
5 回答
26122 浏览

c++ - 如何让屏幕暂停?

可能重复:
如何阻止 C++ 控制台应用程序立即退出?

所以我正在学习 c++,我得到了这个例子,我想运行它。但我不能让它熬夜,除非我改变它。我如何让 Microsoft Visual 2010 在我发布它后在程序结束时跟上屏幕?

0 投票
2 回答
4406 浏览

c++ - std::make_shared 作为默认参数无法编译

在 Visual C++(2008 和 2010)中,以下代码无法编译并出现以下错误:

错误 C2039:“make_shared”:不是“全局命名空间”的成员

错误 C3861:“make_shared”:找不到标识符

它抱怨 P::Foo() 而不是 ::Foo() 的定义。

有谁知道为什么 Foo() 使用 std::make_shared 而不是 P::Foo() 的默认参数是有效的?

0 投票
1 回答
10000 浏览

c++ - initializer_list 在 VC10 中不起作用

我在 VC++ 2010 中编写了这个程序:

但是当我编译项目时出现此错误:

错误 1 ​​错误 C2552: 'c' : non-aggregates cannot be initialized with initializer list c:\users\pswin\documents\visual studio 2010\projects\test_c++0x\test_c++0x\main.cpp 27

2 IntelliSense:“class1”类型的对象不允许使用“{...}”进行初始化 c:\users\pswin\documents\visual studio 2010\projects\test_c++0x\test_c++0x\main.cpp 27

问题是什么?