草庐IT

lint-results-debug

全部标签

c++ - Xcode C++ : Build in Debug but not Release

我正在使用Xcode6、c++进行编码。我可以在调试中构建和运行我的程序,但我无法以某种方式在Release模式下编译。我看到的错误是:AppleLLVM6.0错误无法读取配置文件:没有这样的文件或目录我真的不知道这是什么意思...(在将main.cpp文件缩减为通常的“HelloWorld”程序后我仍然明白这一点)我已经按照建议尝试了XcodebuildsonDebugbutnotonRelease清理我的项目,关闭它,关闭Xcode重新启动并重建,甚至删除派生数据,但我仍然遇到同样的问题。有人知道如何解决这个问题吗?非常感谢T 最佳答案

c++ - Lint 更喜欢 std :string rather than clear() 上的 erase() 方法

使用Lint,它反复反对在std字符串上使用clear,并希望建议使用不带参数的删除方法。查看文档并执行我想要的操作,即将字符串的大小调整为零个元素,以便该字符串为空且没有任何元素。此时我不想删除字符串,只需从中删除所有成员即可。我的问题是这两种方法有什么区别,有谁知道我应该使用erase而不是clear方法的原因吗? 最佳答案 我看不出任何原因。恰恰相反:我实际上不得不查看引用以查看erase()是否可以在没有参数的情况下调用。erase()用于从字符串中删除一些指定的字符。clear()用于删除字符串的全部内容(但不包括其容量)

c++ - 使用 std::result_of 确定模板参数的返回类型

我认为这段代码是不言自明的,但基本上模板函数ExecFunc应该能够执行另一个函数并返回其结果。我知道我可以使用decltype而不是result_of获得类似的结果,但这个问题是为了理解为什么我写的东西不起作用:该片段无法在gccv4.9.2上编译。这是我的:#includeintf(inti){returni;}templateautoExecFunc(Ff,Targ)->typenamestd::result_of::type{returnf(arg);}intmain(){autoa=ExecFunc(f,3);return0;}这是编译器的输出:prova.cpp:Infun

C++文件输入输出的简单实现(Debug)

1.前言:        文件输入输出是个很有用的东西,有时比赛时要有:要求使用文件输入输出,还有时候……    遇到这种时间限制非常恶心的题目:手动测试会有误差……    文件输入输出是个很好的选择!2.写法:C    C语言的写法有点复杂,涉及文件指针,本文不多介绍。下面给出示范写法:#includeintmain(){FILE*file=fopen("文件名","文件模式:r,w");if(file!=NULL){//若打开失败,file值为NULL fprintf(file,"整数:%d\n",8/*如同printf*/); }fclose(file);//记得关闭return0;}

c++ - 带有 RcppArmadillo 的 R 包中的 ARMA_NO_DEBUG

我想在访问RcppArmadillo中的矩阵元素时禁用边界检查。Armadillo的文档说Armadillocanbeconfiguredviaeditingthefileinclude/armadillo_bits/config.hpp.Specificfunctionalitycanbeenabledordisabledbyuncommentingorcommentingoutaparticular#define,listedbelow.但是在R包的上下文中,我该如何激活这个指令?我试图创建一个config.h文件#ifndefCONFIG_LOADED#defineCONFIG_

c++ - C 和 C++ 的结构定义不同——它安全吗? PC-Lint 警告

以下声明在C++文件中添加了几个用于编译的运算符。该定义包含在C和C++文件中。PC-Lint报告错误114:标记“Rect”的结构声明不一致,但我确信它是安全的。我正在使用VisualStudio2008进行编译。编辑-添加我发送给客户的解释关于Rect问题;知道结构在C和C++中的大小相同如何消除对“未定义行为”的怀疑。如果字段在数据结构中的实际位置因编译而异,则会出现未定义的行为。您必须将所有成员变量访问视为最终解析为指针,该指针由指向对象存储开头的指针加上偏移量(取决于该结构中的内容)计算得出。打包和数据对齐设置会影响偏移值。允许编译器对类型重新排序以实现最佳访问-假设仅仅因为

c++ - 最烦人的解析 : why doesn't `g( ( f() ) );` call `f` 's default constructor and pass the result to `g` 's ctor that takes a `f` ?

这不是Mostvexingparse:whydoesn'tAa(());work?的拷贝,它基于Aa());形式的解析,其OP认为可以使用额外的集合默认构造一个A对象括号。相比之下,我的问题是关于2个类,f和g,其中f具有默认构造函数,而g的构造函数采用f。我想用一个临时的f参数调用g的构造函数,而不使用统一的初始化语法。g的构造函数中有一个std::cout语句,因此缺少输出表示函数声明而不是g对象实例化。我在注释中用3个数字注释了示例代码。#1和#2编译时#3被注释掉,反之亦然:#includestructf{};structg{g(f){std::cout#1:我认为#1声明了一

c++ - 错误 LNK1104 : cannot open file 'Debug\MyProjectLib.lib'

我有以下CMakeLists.txt文件来生成我基于Qt的项目:cmake_minimum_required(VERSION2.8.12)project(MyProject)find_package(Qt5Widgets)set(MyProjectLib_src${PROJECT_SOURCE_DIR}/gui.cpp)set(MyProjectLib_hdr${PROJECT_SOURCE_DIR}/gui.h)set(MyProjectLib_ui${PROJECT_SOURCE_DIR}/gui.ui)set(MyProjectBin_src${PROJECT_SOURCE_DI

c++ - VS 编译警告 : result of 32-bit shift implicitly converted to 64 bits

VisualStudio2013发出恼人的(看似无关紧要的)编译警告:#include#definePRECISION16uint64_thi=0;for(uint8_ti=0;i这是编译警告:warningC4334:'改1好像解决了至1.所以我一直在尝试找出1中可能出现的问题.显然,如果i>=PRECISION,那么左移操作将产生未定义的行为。但是,变量i不超过PRECISION-1的值.此外,即使我们假设编译器无法推断出这个事实,我也看不出这个编译警告与左移操作数导致的潜在未定义行为有什么关系。也许它假定PRECISION-1-i的无符号值可以大于31。但是我应该如何告诉编译器它

c++ - fatal error LNK1104 : cannot open file "Debug/

我正在尝试在MicrosoftVisual6.0版中运行C++代码。代码编译良好,但我收到错误“fatalerrorLNK1104:当我尝试构建时无法打开文件“Debug/Assignment.exe”。该文件保存在名为Assignment的项目中。我是C++的新手,并且微软视觉的东西。我不知道从哪里开始绕过错误。请帮助。 最佳答案 听起来exe(Debug/Assignment.exe)的拷贝已经在运行,因此visualstudio无法覆盖该文件。查看任务管理器/进程资源管理器并终止所有正在运行的拷贝,然后重试。