自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oguro的博客

留下思索,分享感悟

  • 博客(13)
  • 收藏
  • 关注

原创 g++编译报错原因分析“was not declared in this scope"

在编译程序的时候,提示:“was not declared in this scope"。经过分析后发现原因如下:1.变量、函数、或者类未声明或者定义。这是最简单的情况~却是我经常犯的错误(基本也是这几个原因中可能性最大的)另外,网上有人指出以下原因也会导致该提示错误:2.头文件相互#include时,导致了依赖关系错误。比如,头文件形成了一个环形依赖,/***fi

2016-09-28 20:57:18 126119

原创 番茄助手Visual Assist X的简单使用以及消除中文注释警告

使用VS2013写C++代码时会发现VS2013没有自带的拼写提示,而番茄助手正是基于VS平台的一款小插件。本人在平时学习和工作中使用的是Visual Assist X 10.8.2043完美破解版的番茄助手。安装好番茄助手后,在拼写代码时番茄助手自动帮助检索拼写,如下图。这样对于比较复杂的自定义变量、函数可以快速进行选择,不必要再自己凭借记忆或查找拼写出来了。很方便吧!除了自动检

2016-09-27 22:14:39 21315

原创 g++编译报错原因分析expected type-specifier before

原因:因为没有引入相应的头文件,加入相应的.h可以解决

2016-09-26 22:57:48 54172 7

原创 用C语言实现的简易内存池

这套内存池代码其实是我前不久刚刚进公司时,我的师傅安排给我的一个“作业”,可能目的是试探一下我的Coding能力,看看我的编码风格吧。现在把它写在这里和大家分享,这个代码并不是多么高效的内存池,只是作为一个简单的练习,开拓自己的思维,锻炼自己的链表编程能力。所以如果有人想找高效代码用在项目里,我建议还是使用开源的框架比较好。代码如果有BUG请指教,本人小白,大牛勿喷!内存池的使用背景:

2016-09-29 22:40:21 2715

原创 const修饰指针的用法:常量指针和指针常量

const通常用来修饰变量不能够更改值,多用来保护变量或参数。 const int b = 100; //b = 0;错误 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。如下代码,int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向固定的一个变量地址,但可以通过*p2读写这个变量的值。

2016-09-28 21:49:56 9854

原创 Mysql中的LIMIT使用方法

LIMIT是mysql的语法,等同于Oracle中的rownum。先上几个例子经行分析,会比较好理解。SELECT * FROM table LIMIT 2,4;//取出第3条至第6条,一共是4条记录他的起始位置写的是2,由于是从0开始算起的所以自然真正的起始位置是3,后面的4代表显示4条记录。SELECT * FROM table LIMIT 95,-1; //95至末尾

2016-09-28 21:05:56 752

原创 g++编译报错原因分析 format ?.d?.expects argument of type ?.nt?. but argument 3 has type ?.

这是我工作时在linux环境下C++编译出现过的警告:warning: format ?.d?.expects argument of type ?.nt?. but argument 3 has type ?.int64 {aka long long unsigned int}?.[-Wformat=]     (void)query.create_sql("SELECT * FRO

2016-09-28 20:59:42 6053

原创 解决vs中的_CRT_SECURE_NO_WARNINGS警告

在VS中调用 scanf、sprintf、strcpy、strcat 等函数时常常会提示 _CRT_SECURE_NO_WARNINGS 警告,原因是Visual studio C++不是真正的C++,而是经过Microsoft公司优化的。本人猜测也许是微软公司的那些开发工程师们认为这些C函数功能内部没有对内存做边界检查,极有可能造成内存越界等问题,所以设置了不安全警告。第一种解决方法

2016-09-27 23:22:05 57171 3

原创 如何初始化char数组

1、直接逐个初始化字符数组:char str[10]={ 'I',' ','l','i','k','e',' ','c','a','t'};注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则按初始化列表初始字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' )。2、用字符串常量来初始化字符数组:在c语言中,将字符串作为字符数组来处理。因

2016-09-26 23:11:37 20045

原创 char数组转换成string

将C风格的字符串数组转换为C++风格的字符串假设c字符串定义为char ch[]="hello world!";1.向构造函数传入c字符串创建string对象:string str(ch);2.使用拷贝构造函数创建string对象:string str = ch;3.对已有的string对象调用string类内部定义的赋值运算符:string str;str =

2016-09-26 23:10:07 17731

原创 g++编译报错原因分析cannot allocate an object of abstract type“XXX ”

原因分析:通过查看代码发现C++程序在创建一个类的对象时报错了错误类型是Cannot allocate an object of abstract type“XXX”原因是我的类继承自一个基类,该基类中的函数存在纯虚函数,而我的类中没有重载全部纯虚函数。解决方法:在基类中申明的虚函数,在派生类中必须继承并实现。这样在new一个派生类时才不会报该错误。将基类中所有虚函数,

2016-09-26 23:03:59 15275

原创 C/C++编程规范(二)代码篇

1-文件文件大小:每个文件应该在2000行以内(含代码行和注释行)。头部注释完整、正确,修改记录清楚。注释量达到40%。修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。文件名称要明确清晰,反映实际的功能。2-函数函数名称要明确清晰,反映实际的功能。名称第一个字母小写。函数长度函数头部注释完整、准确,修改记录清楚。只在函数前部定

2016-09-25 18:49:30 1759

原创 C/C++编程规范(一)命名篇

1 编码规范C系的程序员往往面临C和C++语言混合编程,在所有的.h文件中统一增加如下内容,可以保证无论是C语言还是C++调用都不会出问题。#ifdef __cplusplusextern "C" {#endif /*头文件内容*/ #ifdef __cplusplus}#endif 1.1 数据类型typedef unsigned char BYT

2016-09-25 17:46:09 636

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除