数据结构

1.typedef  最近写(抄袭)数据结构的项目,最常用的就这个关键字了,然而对他的用法一直不太清楚,这里有篇博文说的还比较清楚,引荐一下

http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html


2.遇到了一个比较有趣的小错误,错误 4error C2228: “.code”的左边必须有类/结构/联合 d:\本科\第四学年\15-16-2\数据结构\hfm\hfm\decoding.cpp29 1 hfm

void Codeing(HFMC T)//首先是声明了一个T变量,这个HFMC是我自己定义的数据类型

if(T.lchild==-1)//然后这句报了如上的错误

为什么呢?因为一个简单的“->”和“.” 这两个符号的错误,众所周知,“->”是用于指针指向结构体成员的,对于类/结构/联合操作数据成员用“.”操作符,但是定义的时候好像不是指针呀,因为指针藏在头文件里的这句话里,

typedef HFMCnode HFMC[MAXLEN];//这里的T其实是数组呢,如果想用“.",得用T[10].lchild。


3.嗯两个项目都遇到同样一个坑爹的错误,我来粘图了,

VC++常见错误原因解析--error LNK2019: 无法解析的外部符号 "public: void __thiscall

原因一:  只是在.h里面声明了某个方法,  没有在cpp里面实现  。 
具体讲,有时候在头文件中声明了需要的方法,确实忘记了在源文件中实现; 
有时候在头文件中声明了需要的方法,在源文件中实现了该方法,但是却遗留了方法名前的“classname::”; 
有时候在头文件中声明并实现了需要的方法,但是在代码调整时直接把方法copy到源文件时,并没有在函数前加“classname::”; 
原因二:  声明和实现都有了,但是  没有添加到vs的project  目录下面,这时候如果在其他.cpp中引用的,就会出现这个错误。 
具体讲,导入自己以前的代码或其他现有代码时,复制到工程下目标文件夹后,有时候会在vs的project目录下忘记或遗漏添加这些文件,就可能引起这个错误。 
原因三:  有时候工程比较大时,会直接加入一些原有的基础工程来提交效率,如果对原有工程不太熟悉,在工程中加入了有  相同名字的文件或者类  时,同样会引起这个问题。 
这种情况下的具体原因是编译时会出现相同名字的中间文件,因为编译有先后顺序,出现了文件替换,在其他文件引用被替换掉的文件时,导致最后会出现了个连接问题。 
原因四:   内联函数  相关,如果内联函数的声明在头文件中,实现在源文件中,这时候如果其他类中只是包含了头文件,在调用这个内联函数时也会出现这个问题。
http://www.tuicool.com/articles/Ff6RVr(原文地址)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值