
C/C++
C/C++相关
小鹰信息技术服务部
Tolerance, Diversity. Hit Refresh.
展开
-
VC++报错:value ‘MTd_StaticDebug‘ doesn‘t match value ‘MDd_DynamicDebug‘
项目属性 > C/C++ > Runtime Library, 选择 /Mtd。看上去像是config的问题。原创 2023-06-22 16:43:06 · 437 阅读 · 0 评论 -
VC++报错:identifer “byte“ is undefined
从网上copy过来的C++代码报错,提示 identifer "byte" is undefined。byte这种基础数据类型怎么会有问题?原创 2023-06-22 16:24:26 · 508 阅读 · 0 评论 -
VS2017: cannot open source file “Windows.h“
右击Project -> Properties -> General -> Windows SDK Version, 选择 10.0.xxxxx。在VS2017中打开一个VC++项目,#include 行提示 cannot open source file "Windows.h"原创 2022-12-28 15:07:59 · 1591 阅读 · 1 评论 -
C++: isNaN
Qt开发,需要对一个数字进行是否NaN的判断,C++是否提供了相应的方法呢?答案就是用isnan,需要C++11及以上。原创 2022-07-31 13:35:24 · 942 阅读 · 0 评论 -
C++: 复制文件夹
写个小工具,点击程序就进行一次文件夹复制, 代码如下:需要C++ 17:右击 -> 属性 -> C/C++ -> Language参考:windows - How to use C++ to Copy A Directory - Stack Overflow原创 2022-07-07 08:42:00 · 2408 阅读 · 0 评论 -
Qt报错: undefined reference to ‘xxx‘
Qt项目开发,build时代码报错:undefined reference to ‘xxx‘代码://FnMath.cpp ***********************************//调用:double avg = FnMath::sum(values, len) / len; //此处报错//定义double sum(double values[], int len){ double sum = 0; //... return sum;原创 2022-05-07 21:48:15 · 1295 阅读 · 0 评论 -
Qt报错:XXX does not name a type
Qt开发,代码报错,提示:‘Algo‘ does not name a type.原因:两个类相互引用了头文件。把被调用类中对调用类投文件的引用删掉即可。参考:QT报错:does not name a type——头文件不能互相包含_伍铭的博客-优快云博客...原创 2022-05-07 20:15:47 · 6631 阅读 · 0 评论 -
C++提示:address of stack memory associated with local variable ‘d‘ returned
C++代码提示:warning: address of stack memory associated with local variable 'd' returned代码://角度转度分秒double* degreeToDegree(double degree){ //... double d[3]; //... return d; //warning提示...}要返回的是一个double数组d, return d的语句出现了警告。解决办法:为数组增加原创 2022-05-05 23:57:13 · 1858 阅读 · 0 评论 -
C++函数返回数组的写法
Qt项目开发,代码中某个函数需要返回一个数组,研究一番,总结如下://方法定义int* MainWindow::toDMS(){ int d, m, s; //... //注意,此处一定要加static static int dms[] = { d, m, s }; return dms;}//调用int* array = MainWindow::toDMS();qDebug() << " d:" << array[0]原创 2022-05-04 16:26:41 · 1325 阅读 · 0 评论 -
Qt: QStringList去除重复元素
项目中有个需求,有一个Qt字符串列表,里面有一些元素是重复的,要求去除,只留下不重复的元素。方法如下:QStringList distin;QStringList list = {"A","B","C","D","B","B","E","B","E","C"};for(int i = 0; i < list.length(); i++){ if(!distin.contains(list[i])){ distin.append(list[i]); }}结果原创 2022-05-04 11:19:56 · 6240 阅读 · 1 评论 -
Qt报错:calling ‘split‘ with incomplete return type ‘QStringList‘
Qt开发,代码报错,提示:error: calling 'split' with incomplete return type 'QStringList'代码:QStringList strs = numStr.split(".");研究了一会儿,其实原因就是缺少引用,比如这行代码中就是缺少QStringList的引用,加上就解决了:#include "QStringList"...原创 2022-05-04 10:59:01 · 1449 阅读 · 0 评论 -
C++常用数学操作
近期把一个项目从Windows搬到Linux,代码大改,其中一些涉及数学操作的部分,记录如下:0. 引用:#include "math.h"1. 取余double fw = 360.849fw = fmod(fw,360);2. 绝对值double fw = -360.849fw = abs(fw);3. 圆周率πM_PI...原创 2022-05-03 17:09:41 · 772 阅读 · 0 评论 -
C++报错:case value is not a constant expression
Qt开发,从一个C#项目中搬过来一段代码,看上去很简单的逻辑,不过报错了:case value is not a constant expression也就是switch case后面不支持变量,怎么解决呢?用常量当然可以,不过代码就变得不太友好了。网上看到一条建议,很简单,不用switch case了,改用if else代替:if(unit == DT::UNIT_DEG){ if (gd > 90) { gd = gd - 180; } if (gd <原创 2022-05-03 15:41:44 · 2624 阅读 · 0 评论 -
LNK1104: cannot open file MSVCRTD.lib
在VS2017中调试一个C语言项目,运行提示:LNK1104 cannot open file MSVCRTD.lib解决办法:在VS安装程序中添加“VC++2017 version 15.9 v14.16 Libs for Spectre(x86 and x64)”问题解决。原创 2021-09-30 11:30:13 · 1947 阅读 · 0 评论 -
warning C4047: ‘=‘: ‘CHAR16‘ differs in levels of indirection from ‘char [2]‘
调试C程序,报错:warning C4047: '=': 'CHAR16' differs in levels of indirection from 'char [2]'代码如下:CHAR16 StrBuffer[3] = {0};...StrBuffer[0] = Key.UnicodeChar;StrBuffer[1] = '\n';StrBuffer[2] = "G"; //报错!当给StrBuffer赋值字符串"G"的时候报错。网上找到了答案:https://stacko原创 2021-02-08 19:51:27 · 1238 阅读 · 0 评论 -
在Visual Studio中编写C语言程序
想测试C程序,电脑中只有Visual Studio,其实也可以的,步骤如下:在VS2017中,新建C++控制台项目,设置都为默认。项目建好之后,在右击Source Files添加新项。选择C++文件,但是具体的文件名中,扩展为改为.c然后把原来新建项目时默认生成的.cpp文件删掉,只留刚添加的.c文件。运行即可:***********************************************************思路参考:https://blog.cs原创 2021-02-02 19:41:07 · 1947 阅读 · 0 评论 -
Windows中CodeBlocks的使用
Windows中CodeBlocks的使用,之前安装过,不过因为没有设置好,导致无法运行、无法调试,当时遂放弃。昨天探索了一番,运行成功,记录如下。本例环境为Win10 x64。1. 下载https://www.fosshub.com/Code-Blocks.html?dwl=codeblocks-17.12-setup.exe选择带编译器和调试器的版本:2. 编译器的设置...原创 2019-11-13 09:14:48 · 2125 阅读 · 1 评论