Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我#pragma once经常使用它,它在处理标头时似乎工作正常,但由于某种原因,以下创建了多个定义的链接器错误:
#pragma once
#pragma once int someVariable=5;
不应该也pragma防止这种情况吗?
pragma
编译指示不应该也阻止这种情况吗?
不,在这种情况下,如果此头文件包含在多个位置,则会创建 someVariable 的多个定义。如果 Bh 和 Ch 都包含你的头文件,那么将创建两个 someVariable。
更好的方法是仅在一个 .cpp 文件中定义变量并extern在其他地方使用。
extern