在单个cpp文件中多次使用函数声明是否可以?

时间:2016-11-29 00:47:08

标签: c++ compilation linker include c-preprocessor

根据sbithis question的回答,

  

可以根据需要声明标识符(语句1)

是不是真的
  

C ++中的with current_app.test_client() as tc: resp = tc.get('/url/that/does/not/exist') >>> resp.status_code 404 只是阻止了函数声明   在单个源文件中显示多次(语句2)

我的问题是:为什么会出现这种矛盾?或者我误解了两个陈述中的任何一个?

1 个答案:

答案 0 :(得分:4)

是的,您可以在一个翻译单元中多次声明(但不能定义)一个函数。是的,包括警卫通常会阻止这一点,但这不是他们唯一的目的。标头通常定义类,模板和内联函数;需要头部防护以防止这些实体的多个定义出现在单个翻译单元中。标题保护还有助于防止标头粘贴到翻译单元的次数呈指数级膨胀。