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.
我无法理解以下 misra 规则,“函数不得在块范围内声明”。文档中给出的解释是“在块范围内声明的函数将引用封闭命名空间的成员,因此声明应显式放置在命名空间级别。” 他们的意思是指封闭命名空间的成员?有人可以澄清一下吗?
这意味着当你拥有这个时,foo它的定义将bar在命名空间中的 , 之外:
foo
bar
namespace { void bar() { void foo(); } //could define foo here }
它的意思是将声明移到与定义相同的级别:
namespace { void foo(); void bar() {} //could define foo here }