青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數(shù)據(jù)加載中……

頭文件定義的函數(shù),加Inline,否則容易出現(xiàn)link 2005錯誤

.h中文件定義的函數(shù)默認(rèn)為inline,但有時(shí)候卻不是如此,所以加上inline,可避免出現(xiàn)link 2005 錯誤。因?yàn)槎鄠€cpp包含這個.h的話,函數(shù)定義會出現(xiàn)在多個.obj中。、

 

 

 

我寫了一個函數(shù)放到了一個abc.h文件中,在mfc項(xiàng)目的stdafx.h中添加了包含abc.h   ,則   出現(xiàn)鏈接錯誤LNK2005
如不放到stdafx.h中,而直接在使用這個函數(shù)的cpp文件里包含這個abc.h   就不會有錯 20 回復(fù)次數(shù):8

第1個回答
你這個abc.h有函數(shù)實(shí)現(xiàn)么?
有沒有定義全局變量?


第2個回答
謝謝幫助,abc.h
中有函數(shù)實(shí)現(xiàn),但沒有全局變量


第3個回答
#ifndef   _ABCFUNC
#define   _ABCFUNC
在此處添加函數(shù)定義
#endif


第4個回答
使用inline.


第5個回答
#ifndef       _ABCFUNC
#define       _ABCFUNC
在此處添加函數(shù)定義
#endif
已經(jīng)加上了   用的是   #pragma   once  
加入   使用inline.   確實(shí)解決了問題   還請   xyzhaopeng     講講為什么  


第6個回答
編譯器認(rèn)為你對函數(shù)沒有作聲明,所以會   出錯,加上inline就說明你的函數(shù)是個內(nèi)聯(lián)函數(shù),這樣編譯器就會認(rèn)為你是在聲明時(shí)加的函數(shù)體。


第7個回答
編譯器是編譯每個cpp文件,你在abc.h里面寫了函數(shù)的實(shí)現(xiàn),afx.h里面include了abc.h,
而有很多gecpp文件include了afx.h,也就是很多個cpp文件里面有這個函數(shù)的實(shí)現(xiàn),
在鏈接器鏈接時(shí)就會發(fā)現(xiàn)有多個同名函數(shù),所以會報(bào)錯.
如果最終只有一個cpp文件include了abc.h則不會出錯,或者在abc.h中將函數(shù)申明為inline.


第8個回答
謝謝各位的熱心幫助  
我是在學(xué)習(xí)wtl
wtl沒有cpp文件,所有實(shí)現(xiàn)都寫在了h文件里面
卻沒有這種問題呢?

 

 

#####################################################################################################

#####################################################################################################


VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

頭文件設(shè)置如下:
#ifndef _MY_HPP_
#define _MY_HPP_
/*
內(nèi)容:
函數(shù)A
函數(shù)B
……
*/
#endif
可當(dāng)我在同一工程的多個cpp文件(例如文件1和文件2)里#include此頭文件時(shí),編譯倒能正常通過,可是連接時(shí)卻出現(xiàn)了報(bào)錯。大致意思是說:“在文件1.obj中的函數(shù)A已經(jīng)在文件2中定義?!倍沂穷^文件中有多少個函數(shù)就會出現(xiàn)多少條這樣的連接錯誤提示。
既然已經(jīng)設(shè)置了保護(hù)宏,為什么還不管用呢?急問,拜托了,叩謝。

作者: 125.33.0.*

2008-5-6 20:08 回復(fù)此發(fā)言


2
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

如果把被提示的函數(shù)設(shè)置為inline就不會報(bào)錯了,可我總不能把所有函數(shù)都聲明成inline吧?該怎么辦???

作者: 125.33.0.*

2008-5-6 20:54 回復(fù)此發(fā)言


3
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

"如果把被提示的函數(shù)設(shè)置為inline就不會報(bào)錯了"
說明你在頭文件里面有實(shí)現(xiàn)。。
這樣多個包含這個頭文件的cpp文件都有實(shí)現(xiàn)
link的時(shí)候就有多分。
頭文件一般是申明, 實(shí)現(xiàn)應(yīng)該放到某一個cpp文件里面
這樣link的時(shí)候就只有一份在“某一個cpp文件”

作者: 125.34.177.*

2008-5-6 23:14 回復(fù)此發(fā)言


4
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

終于有回復(fù)了,感激涕零ing……T_T
Sorry……我那個頭文件說穿了就是個為了以后公用而寫的“函數(shù)庫”,是獨(dú)立于當(dāng)前工程之外的,故而頭文件里的這些函數(shù)也不是任何一個類的成員函數(shù)。
況且,這個頭文件在Dev-Cpp里即使包含了多次也沒有任何錯誤的啊。
還有,如果真的要把這些函數(shù)的實(shí)現(xiàn)挪到cpp里,那豈不還是得把這個cpp文件同樣在包含此頭文件的位置上照舊#include一遍,跟直接#include這個頭文件還有什么不同呢?
OK,不管怎么著,先謝謝3樓的老大了:)

作者: 125.33.10.*

2008-5-7 00:18 回復(fù)此發(fā)言


5
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?


是這樣寫
common.h 當(dāng)中聲明

#ifudef
....
void foo();
#endif
common.cpp 當(dāng)中寫實(shí)現(xiàn)
#include"common.h"
void foo()
{
....
}
然后調(diào)用的文件只需要包含頭文件就行了
#include"common"
int call()
{
foo();
}
include的意思就是把整個文件的類容copy過來。

作者: 求是的夢

2008-5-7 01:05 回復(fù)此發(fā)言


6
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

剛剛在Dev-Cpp里試了一下3、5樓的雙文件法,結(jié)果成功通過了連接,待會去VC里試試看-_-
可是……可是話說回來,難道寫有函數(shù)定義的頭文件就真的“永遠(yuǎn)”不能在同一個工程中的不同文件里重復(fù)#include了嗎?都需要另建一個c或cpp文件來做寫函數(shù)定義體才能連接成功的嗎?
——該不會我這么久以來所堅(jiān)信的“在頭文件里設(shè)置了重復(fù)包含保護(hù)宏之后就可以隨意#include了”的觀點(diǎn)一直就是錯的吧?天!無論如何,先謝謝二位提點(diǎn),我這就去測驗(yàn)一遍看看……

作者: 125.33.10.*

2008-5-7 01:34 回復(fù)此發(fā)言


7
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

還是不對呀,按照5樓的方式編寫2個文件:
//頭文件
#ifndef MY_H
#define MY_H
/*
函數(shù)聲明……
*/
#endif
//實(shí)現(xiàn)文件
#include <同名頭文件>
/*
函數(shù)定義……
*/
連接時(shí)LNK2005倒是消失了,可又出現(xiàn)了新的錯誤:
error LNK2001: unresolved symbol "函數(shù)A"(...)
error LNK2001: unresolved symbol "函數(shù)B"(...)
……
儼然一副“當(dāng)前工程中找不到函數(shù)定義”的樣子,可我如果把實(shí)現(xiàn)文件針對添加到工程里的話,跟我的最初“只#include頭文件、不增加工程文件數(shù)”的期望可就完全背道而馳了啊。
★★★★★★★★★★
簡而言之:怎么才能使我的頭文件像自帶的頭文件(如<iostream>、<string>或<stdio.h>)一樣可以隨處#include呢?
★★★★★★★★★★

作者: 125.33.19.*

2008-5-7 20:06 回復(fù)此發(fā)言


8
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

大家一般是怎么寫這種dú-lì的通用式頭文件的呢?
只用同一個頭文件來同時(shí)包含函數(shù)的聲明和定義、并在同一工程中多次#include,究竟可不可行?能不能實(shí)現(xiàn)呢?

作者: 125.33.1.*

2008-5-8 00:35 回復(fù)此發(fā)言


9
或者說是暫時(shí)解決

呼~非得把所有函數(shù)都設(shè)置為static之后才能隨處#include……-_-

作者: 問題解決啦

2008-5-9 03:14 回復(fù)此發(fā)言

posted on 2008-11-15 18:35 肥仔 閱讀(2887) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久亚洲欧洲日产国码αv| 久久欧美中文字幕| 国产精品海角社区在线观看| 欧美日韩精品系列| 欧美日韩亚洲另类| 欧美午夜www高清视频| 欧美先锋影音| 国产主播精品在线| 亚洲国产欧美国产综合一区| 99国产精品| 欧美在线视屏| 欧美夫妇交换俱乐部在线观看| 亚洲人www| 亚洲人成人77777线观看| 在线视频你懂得一区| 欧美亚洲一级片| 久久天天躁狠狠躁夜夜av| 你懂的视频一区二区| 国产精品乱码一区二三区小蝌蚪 | 性欧美1819性猛交| 久久久久一区| 国产精品久久久亚洲一区 | 欧美丝袜第一区| 狠狠色综合一区二区| 一本久久a久久免费精品不卡| 午夜视频久久久| 亚洲国产欧美久久| 久久精品国产99国产精品澳门 | 久久综合九色综合网站| 免播放器亚洲| 一区二区日本视频| 久久亚洲私人国产精品va媚药 | 亚洲激情av在线| 午夜精品福利一区二区蜜股av| 欧美顶级少妇做爰| 午夜在线a亚洲v天堂网2018| 欧美激情欧美激情在线五月| 国产亚洲精品v| 先锋亚洲精品| 99国产精品国产精品毛片| 久久精品在线| 国产欧美日韩亚洲精品| 亚洲天堂成人| 最新亚洲一区| 老司机免费视频久久| 国产专区一区| 久久精品人人做人人综合| 亚洲一品av免费观看| 欧美日韩亚洲综合| 一区二区三区四区五区精品| 亚洲国产一成人久久精品| 麻豆国产va免费精品高清在线| 黑人一区二区| 免费成人在线观看视频| 久久一区二区三区av| 激情久久久久久久| 久久婷婷综合激情| 久久久久久噜噜噜久久久精品 | 经典三级久久| 久久一日本道色综合久久| 欧美在线观看视频| 狠狠干狠狠久久| 久久性天堂网| 免费不卡中文字幕视频| 亚洲人成欧美中文字幕| 亚洲国产精品一区二区三区| 美女视频网站黄色亚洲| 亚洲美女视频在线观看| 亚洲精品一区二区三区樱花| 欧美日韩免费观看中文| 香蕉av福利精品导航| 小处雏高清一区二区三区| 狠狠色2019综合网| 欧美不卡福利| 欧美日韩高清一区| 蜜臀久久久99精品久久久久久| 久久一区二区三区av| 午夜精品福利在线| 韩国av一区二区三区四区| 久久久久久夜| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧洲精品一区二区精品久久久 | 久久国产精品电影| 伊人春色精品| 亚洲精品免费在线观看| 国产精品久久久一本精品| 久久久久久久国产| 欧美激情综合在线| 久久精品99国产精品| 久久亚洲电影| 亚洲在线电影| 久久一区国产| 亚洲欧美日韩综合国产aⅴ| 久久成人人人人精品欧| 夜夜精品视频一区二区| 性做久久久久久| 99re6这里只有精品视频在线观看| 亚洲一区二区三区在线| 亚洲啪啪91| 欧美一激情一区二区三区| aaa亚洲精品一二三区| 久久国产精品毛片| 亚洲一区视频| 欧美极品在线视频| 久久婷婷av| 国产精品一区免费在线观看| 亚洲国产日日夜夜| 激情av一区| 亚洲欧美在线视频观看| 一区二区三区精品在线| 可以看av的网站久久看| 欧美一区二区视频观看视频| 欧美精品一区三区| 男女视频一区二区| 国产美女精品免费电影| 99精品99| 亚洲美女电影在线| 美女啪啪无遮挡免费久久网站| 久久九九久精品国产免费直播| 国产精品99免视看9| 亚洲精品乱码久久久久久| 亚洲激情视频在线播放| 久久国产精品久久国产精品| 欧美一区在线直播| 国产精品免费看| 中国成人在线视频| 亚洲永久字幕| 国产精品乱看| 亚洲综合视频网| 午夜精品久久久久| 国产精品亚洲网站| 亚洲欧美日韩另类| 久久精精品视频| 国产欧美一区二区精品秋霞影院 | 欧美二区在线播放| 在线精品一区| 欧美jizz19性欧美| 亚洲国产清纯| aa国产精品| 国产精品劲爆视频| 亚洲欧美激情诱惑| 久久久噜噜噜久久久| 黄色欧美成人| 嫩草成人www欧美| 亚洲精品少妇30p| 亚洲午夜精品久久久久久浪潮| 日韩一级免费观看| 午夜精品久久久久| 韩国三级在线一区| 六月丁香综合| 亚洲精品日韩激情在线电影| 亚洲一区二区精品| 国产喷白浆一区二区三区 | 国产日韩精品视频一区二区三区| 亚洲一二三区在线观看| 久久大综合网| 亚洲盗摄视频| 欧美日韩精品不卡| 香蕉av福利精品导航| 蜜桃久久av一区| 99国产精品久久久久久久久久| 国产精品theporn88| 欧美一区二区私人影院日本| 欧美成人a视频| 亚洲一区综合| 亚洲大胆美女视频| 欧美小视频在线观看| 午夜精品一区二区三区四区| 嫩模写真一区二区三区三州| 亚洲视频一区| 原创国产精品91| 欧美性猛交99久久久久99按摩| 久久国产精品色婷婷| 日韩亚洲欧美成人| 欧美成人激情视频| 欧美一级夜夜爽| 99国产一区二区三精品乱码| 国产欧美一区二区三区在线老狼 | 国产一区二区精品久久| 欧美黄色免费网站| 欧美永久精品| 亚洲午夜三级在线| 亚洲高清视频中文字幕| 午夜一区不卡| 日韩一区二区久久| 伊人色综合久久天天五月婷| 欧美体内谢she精2性欧美| 毛片一区二区三区| 香蕉免费一区二区三区在线观看 | 免费在线观看成人av| 亚洲欧美综合一区| 一区二区高清在线| 亚洲激情午夜| 永久免费精品影视网站| 国产美女精品免费电影| 国产精品xnxxcom| 欧美日韩和欧美的一区二区| 久久久久免费观看| 欧美一区亚洲二区| 午夜精品区一区二区三|