据我了解,这个错误是由不正确地使用头卫士,当你有多个文件,包括相同的文件引起的。 在我而言,这是包括树这会导致错误:
File A includes Z, which contains the functions I need. File B includes A, and file C includes A.
没有任何#pragma once
的,程序给出了一堆同样的错误的变化:
blahblah.obj: error LNK2005: class some::namespace::ObjectType Object already
defined in dialogDlg.obj
我只是想知道,考虑到包括我描述的树,什么是正确的方式来得到这个正确编译?
我尝试使用#pragma once
对文件Z,但没有奏效。 我也试过一次的#pragma在文件中的,这也没有工作。 最后,我想它在A和Z都,也没有工作。