我有一個Visual Studio項目3個文件:test.cpp
,date.cpp
和main.cpp
-LNK2005,LNK1169錯誤, 「INT __cdecl克(無效)」 已經定義
TEST.CPP:(G @@ YAHXZ?)
int g() { return 0; }
date.cpp:
/*totally empty*/
main.cpp中:
#include "test.cpp"
#include "date.cpp"
int main() { return g(); }
據我所知,如果頭文件被多次調用,那麼在頭文件中定義函數會導致違反一維定義規則。但在這裏,我只從一個文件/翻譯單元中調用一次。爲什麼它仍在扔LNK2005?
不包括CPPS。 – chris 2013-04-27 19:28:14
@chris爲什麼?我認爲C++編譯器對擴展是盲目的。不是嗎? – 2013-04-27 19:30:08
這不僅僅是你的問題。 – chris 2013-04-27 19:44:24