作者tsaiminghan (nahgnimiast)
看板C_and_CPP
标题Re: [问题] #include 重复定义
时间Tue Feb 17 21:17:25 2009
http://www.badongo.com/file/13429930
想请问一下上面的程式码发生xxx已在yyy.obj内定义过了
的错误,但是应该不是之前的那种很明显的重覆include
最近写code想把档案分开写,常常会碰到上面的问题
,但是却不知道到底是哪里有问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.97.135
1F:推 jlovet:第一篇的推文就有,在每个.h加上#ifdef... 02/17 21:45
2F:→ jlovet:sorry..你有加了 02/17 21:46
3F:推 QQ29:我觉得你的include 要写在#ifndef里面而不是外面 02/17 22:03
4F:→ tsaiminghan:刚刚突然想到\我想我知道我错在哪里了 02/17 22:45
5F:→ tsaiminghan:我应该是因为变数宣告在.h, 造成重复定义 02/17 22:46
6F:→ tsaiminghan:但是个别cpp并没有重复定义 02/17 22:46
7F:→ tsaiminghan:所以ifndef 的做法没有作用 02/17 22:47
8F:→ tsaiminghan:ifdef只能帮忙检查单一cpp, 多个cpp之间没有关联 02/17 22:51
9F:→ tsaiminghan:我觉得大概是这样, 明天试试看 02/17 22:52
10F:推 QQ29:是阿 不过我觉得你的 include确实要写到里面才行吧 02/17 22:53
11F:→ tsaiminghan:对写在里面比较对 02/17 23:13
12F:→ WPC001:宣告和实作并不相同, .h是拿来放宣告, 不是实做 02/18 08:51
13F:→ WPC001:inline function / template则不在此限 02/18 08:51
14F:推 HudsonE:未看先猜 extern / project setting 02/18 09:50
15F:→ tsaiminghan:我对宣告和实作, 有一些弄不清楚 02/18 20:51
16F:→ tsaiminghan:另外我那程式码, 我变数宣告放到cpp就没问题了 02/18 20:52