visual-c++相关内容
总结 Microsoft Visual Studio 中的 C/C++ 编译器在 C 程序尝试时发出警告 C4090将指向 const 数据的指针(如 const void ** 或 const char **)的指针转换为 void *(即使这样的类型实际上不是指向 const 的指针).更奇怪的是,同一个编译器默默地接受编译为 C++ 的相同代码. 这种不一致的原因是什么,为什么
..
我最近遇到了一个奇怪的问题,在迭代多重集时我会得到一个 const_iterator 而不是预期的 iterator.结果证明这对 MSVC 来说不是问题,但 g++ 给了我一个错误: 错误:初始化无效'myPtr&' 类型的引用从'const 类型的表达式boost::shared_ptr' 相关代码: typedef std::multiset;我的清单;我的清单 _mystuf
..
..
你能举一个 C++ 中堆栈溢出的例子吗?除了递归情况: void foo() { foo();} 解决方案 不涉及无限递归的典型情况是在堆栈上声明一个太大的自动变量.例如: int foo(){整数数组[1000000];}
..
注意:这是一个question-with-answer,以便记录其他人可能认为有用的技术,以便了解其他人"更好的解决方案.请随意添加批评或问题作为评论.也请随意添加其他答案.:) Visual C++ 一直有一个语言扩展 __uuidof(classname) 可以检索 UUID,一个 128 位的通用唯一标识符,前提是 UUID 已通过 __declspec 与类关联,这也是 Visual
..
AAA 级 {上市:AAA() {}AAA(const AAA&) {}};BBB类{上市:BBB() {}运营商 AAA() { AAA a;返回一个;}};int main() {BBB 乙;AAA a = {b};} 上面的代码可以在g++和vc++上编译,但不是clang++. 传统语法 AAA a = b; 在所有三个上都可以编译. AAA 级 {};BBB类{上市:BBB() {
..
使用当前的 MSVC 编译器可以完美编译: struct Foo{} 常量 foo; 但是,使用当前的 g++ 编译器编译失败: 错误:未初始化的 const 'foo' [-fpermissive]注意:“const struct Foo"没有用户提供的默认构造函数 如果我自己提供一个默认构造函数,它会起作用: struct Foo{富(){}} 常量 foo; 这是 MSVC 过于
..
我有一个通过 UDP 协议发送数据的 linux 应用程序.它使用这些头文件: #include /* 标准 C i/o 设施 */#include /* atoi() 需要 */#include /* 定义 STDIN_FILENO、系统调用等 */#include /* 系统数据类型定义 */#include
..
我有以下代码: #include "stdafx.h"#include #include #include #include "dbghelp.h"使用命名空间标准;诠释 LogStackTrace(){无效*堆栈[1024];处理过程 = GetCurrentProcess();SymInitialize(进程, NULL, TR
..
我们最近尝试将我们的一些 Visual Studio 项目拆分为库,并且在一个测试项目中似乎一切都可以正常编译和构建,其中一个库项目作为依赖项.但是,尝试运行该应用程序给我们带来了以下令人讨厌的运行时错误消息: 运行时检查失败 #0 - ESP 的值未在函数调用中正确保存.这通常是调用使用不同调用约定声明的函数指针的结果. 我们甚至从未为我们的函数指定调用约定(__cdecl 等),将
..
我刚刚在 windows 8 消费者预览版操作系统上安装了 VS11 专业版. 我尝试创建一个 win32 控制台应用程序,向导失败并出现以下错误: Microsoft Visual Studio无法打开“C:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\default.vcxproj",因为此版本的应用程序不支持其项目类
..
我正在尝试在“Windows Store"(又名 Metro 风格)应用程序中用 C++/CX 编写几行代码,我很惊讶地看到 Platform::String 缺少许多基本字符串操作,例如 "替换" 或 “索引". 我想我可以使用内部数据,将其传递给 std:string 实例并应用我需要的操作,但我想知道我是否遗漏了一些“仅限平台::*"执行这些操作的方式. 请注意这个问题是关于 C
..
我正在尝试使用 OpenCV 库在我的 Windows 8 应用商店应用程序中使用 C++/CX 进行一些图像处理.我能够使用 Visual C++ 2012 构建 OpenCV 库,但是当我打包我的应用程序并运行 Windows 应用程序认证工具包,我收到几个错误,说 OpenCV DLL 使用了一些不受支持的 Windows API.如何修复这些错误? 解决方案 OpenCV 使用 C
..
您好,我有 2 个 VC++ 解决方案“A"和“B"(VS2008)都具有相同的代码库(只有几行代码不同).在两者中都使用 DXVAHD.h. dxvahd.h 是一个标准的 Microsoft 头文件.如果我们打开这个头文件,我们会看到有一个条件 if"#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" 我看到在 VC++ 解
..
我几周来一直在努力正确部署我的应用程序(这是一种爱好),我只是不知道还能尝试什么. 我通过选择 Applications -> Qt Quick 2 Application (Built-in Elements) 在 Qt Creator (2.6.1) 中启动了一个新项目.我调整了 QML,使背景为蓝色,文本为红色: main.qml 导入QtQuick 2.0长方形 {宽度:36
..
我在使用 VS2010(和 VS2008)时遇到了问题,给了我一个很好的语法错误列表.但是,语法确实是正确的.这是一个小例子; 我在 .h 文件中有以下代码块 //原型声明LIST* createList (int (*compare) (void*, void*));LIST* destroyList (LIST* plist);int addNode (LIST* pList, voi
..
所以,这是我在 C++ 中摆弄函数的第一个任务——我认为我理解这是因为它们与 C# 中的方法非常相似.但是,尽管我的 main 调用我的函数很好,并且函数运行并返回到 main - 它不会发回它在返回时调用的变量信息.我不确定我做错了什么 - 它似乎设置得当(IE - 就像我书中的示例代码一样)这是主要代码... #include #include #inclu
..
如果我有一个返回对象的函数,但调用者从不使用这个返回值,编译器会优化掉副本吗?(可能总是/有时/从不回答.) 基本示例: ReturnValue MyClass::FunctionThatAltersMembersAndNeverFails(){//对MyClass的成员做一些永不失败的事情返回成功的结果对象;}无效 MyClass::DoWork(){//做一些事情FunctionTha
..
我一直在 Code::Blocks 和 MingW 编译器中使用以下向量初始化值: 向量v0 {1,2,3,4}; 之后,我不得不将代码移至 Visual Studio 项目 (c++) 并尝试构建.我收到以下错误: 局部函数定义是非法的 Visual Studio 编译器不支持这种初始化? 我需要如何更改代码以使其兼容? 我想初始化向量并同时用值填充它,就像一个数组一样.
..
在 Win32 API 编程中,通常使用具有多个字段的 C struct.通常它们中只有几个具有有意义的值,而所有其他值都必须归零.这可以通过以下两种方式之一实现: STRUCT theStruct;memset(&theStruct, 0, sizeof(STRUCT)); 或 STRUCT theStruct = {}; 第二个变体看起来更干净 - 它是单行的,它没有任何可能输入错误并
..