gpt4 book ai didi

c++ - 为什么结构和类定义可以在多个翻译单元上重复?

转载 作者:太空宇宙 更新时间:2023-11-04 14:46:56 27 4
gpt4 key购买 nike

<分区>

根据单一定义规则,类和结构定义不得在单个翻译单元中重复。

但是,如果它们实际上是定义,那么为什么允许它们在多个翻译单元中重复出现。为什么在那种情况下链接器不抛出多重定义错误?

例如- 下面应该按照相同的逻辑抛出多重定义错误

测试.h

#ifndef TEST
#define TEST

class s {
int a;
int b;
};

#endif

测试1.cpp

#include "test.h"

int main() {}

测试2.cpp

#include "test.h"

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com