问题标签 [visual-c++-2012]
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++ - VC++11 映射和多映射迭代器(重载)C2535
我只是在玩新的 VS 2012,我可能对新的 C++11 有问题。当我在项目设置中将平台工具集设置为 VS2010 (v100) 时,这种代码可以完美运行。
。H:
.cpp:
但是当我为 VS2012 (v110) 更改它时,我会收到以下错误:
为什么重载在 VC++11 中不起作用?
c++ - 扩展 typedef 结构(与 VC++11 兼容)
我正在开发一个使用 Visual C++ 编译器 2010(和 2008)编写并使用的项目。我正在尝试使用新的 VC++11,但我对已经实现的功能有疑问。我们已经实现了 typdef struct atomic_int和memory_order但它们在 VC 11 中添加了几乎相同的功能,我得到了这些错误
如果我将我们的实现捕获到#if 语句中
似乎可行,但是缺少一个未在 VC 11 中实现的功能,并且另一个功能无法转换参数
请帮我找到一些解决方案......如何从 VC++11 覆盖整个atomic_int,或者如何将 memeber 添加到?谢谢
c++ - Why does this template code work in VS2010, but not in VS2012?
I have inherited a project making heavy use of template meta programming, and am now in the process of upgrading from Visual Studio 2010 to 2012. Some of the template-code no longer works in 2012. I have distilled a minimal example:
Gives this error message:
Further down in MyClass
, I can use T::Nested<i>
, it is just the typedef
that does not work.
This example compiles in 2010, but not in 2012. What is wrong with this code?
visual-c++-2012 - VC++ 2012:如何将 version.inc(单独维护)中的版本信息包含到 .rc 文件中
摘要:通过预处理器宏在单独维护中定义了版本详细信息version.inc
......如何将宏值包含到资源版本定义块中?
我的version.inc
文件存储在 UTF-8 中(即纯 ASCII 在这种情况下)。其完整内容如下(APS_
这里的前缀与应用的真实名称有关,.aps
与资源编译器生成的文件无关):
Visual Studio 2012 C++ 似乎对资源脚本文件 ( app.rc
) 比 Visual Studio 2010 更挑剔。我注意到的第一件事是,在手动编辑时,我必须保留 UTF-16 编码。你能证实吗?有这方面的文件吗?
app.rc
说看起来像这样的版本块:
在 Visual Studio 的早期版本(2005 和 2010)中,我能够拥有这样的相关信息version.rc2
:
然后通过手动编辑将version.rc2
其包含在其中。但是,我无法使用 Visual Studio 2012 项目和资源文件重复该过程。我可能犯了一些我看不见的错误。这种方法是否也适用于 Visual Studio 2012?app.rc
app.rc
感谢您的时间和经验,
彼得
c++ - 可以将类的成员命名为与其类型(另一个类)相同的名称吗?
尝试在不同的编译器上编译以下代码会给我两个不同的结果:
如您所见,在内部T
,我有一个与之前定义的类同名的对象S
。
在 GCC 4.7.2 上,我收到以下S S;
与内部声明有关的错误T
:
错误:'ST::S' [-fpermissive] 的声明
错误:从'struct S' [-fpermissive] 更改'S' 的含义
但是,将其移出类(或移入main
)可以正常工作:
它给我的错误到底是什么意思?
在 Visual Studio 2012 中,整个程序编译并运行,没有任何错误。将它粘贴到这个 Clang 3.0 编译器中也不会给我任何错误。
哪个是对的?我真的可以这样做吗?
c++ - Visual C++ 2012 (x86) 中可能的编译器错误?
我目前在使用VC++ 11 (CTP Update 1)为 x86 目标编译时遇到随机浮点错误。请参阅下面的简短示例“test.cpp”,并使用以下命令进行编译:
输出应该是10 == 10
,但它在启用(整个程序优化)10 == 0
时产生。/GL
问题似乎是get_scaling_factor()
将结果推送到浮点堆栈上,但调用函数期望它在 SSE 寄存器XMM0中。
问题:我是否遗漏了一些明显的东西,或者这真的是一个错误?当然,测试程序没有意义,因为它是一个精简的测试用例。
测试.cpp:
更新
Microsoft 确认的问题。它甚至会影响这样的直接代码:
c++ - 调试 Win32 应用程序挂起
我无法找到导致 Win32 应用程序挂起的原因。该软件在一个紧密的循环中将一些数据呈现给 OpenGL 视觉对象:
该代码使用 VC11 Update 1 (CTP 3) 编译。在运行优化的二进制文件时,它会getIndices()
在几个循环之后挂在对(更多关于这一点的)的调用中。我已经有了...
- 三重验证所有缓冲区,甚至附加 CRC 以确保我没有任何缓冲区溢出
- 在循环内添加了对HeapValidate()的调用,以确保堆没有损坏
- 使用 ApplicationVerifier
- 使用GFlags 和 PageHeap启用堆分配监视。
- 应用程序锁定时闯入 WinDbg
我没有发现访问分配缓冲区的代码有任何问题,也没有发现任何堆损坏。但是,如果我禁用低碎片堆,问题就会消失。indices
如果我为缓冲区使用单独的(低碎片)堆,它也会消失。
无论如何,这是导致死锁的堆栈跟踪:
为了完整起见,我将 的代码(lc::db::PackedIndices::unpackIndices()
包括为调试添加的所有代码)发布到http://ideone.com/sVVXX7。
触发调用的代码KiUserExceptionDispatcher
是(*p++) = static_cast<T>(index);
( mov dword ptr [esp+10h],eax
)。
我似乎无法弄清楚发生了什么。似乎抛出了异常,但没有调用我的异常处理程序。应用程序只是挂起。我检查了任何死锁的关键部分 ( !lock
),但没有找到。此外,我不明白为什么应该引发异常,因为内存位置都是有效的。谁能给我一些提示?
更新
我试图找到抛出的异常类型:
c++ - 插入 std::map 时的常量问题
我在尝试将一对插入地图时遇到了一个常量问题。编译器错误是:
导致错误的行是:
m_materials 贴图声明如下:
错误 1 错误 C2166: l-value 指定 const 对象 c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility 114
谁能解释我如何解决这个问题?
c++ - VS 2012 中的可变参数模板(Visual C++ 2012 年 11 月 CTP)
我安装了Visual C++ 编译器 2012 年 11 月 CTP并创建了一个 C++ 控制台项目。我写了这个
然后我按 F6 在 IDE 中构建。我在第 4 行收到此错误
编译列表“可变参数模板”所以我相信这应该有效。我确实理解智能感知可能不正确,但是“编译器”应该可以工作。我不能从 IDE 构建吗?我必须在某处启用某些东西吗?int i{4};
似乎也不起作用,我确信那是有效的统一初始化。
visual-c++ - 使用 CMake、C++ 和 Visual Studio 2012 进行分析
我正在使用 CMake 2.8.10.1 为 Visual Studio 2012 Ultimate(64 位)生成项目文件。生成的解决方案包含一个库、一些测试和一些可执行文件。
我想介绍一些应用程序。当我选择“ANALYZE”->“Start Performance Analysis”时,我遇到错误消息“ No launchable projects are available for profiling ”。如何分析 CMake 生成的解决方案?