【问题标题】:What is the definition of definition定义的定义是什么
【发布时间】:2014-05-14 00:08:02
【问题描述】:

definition 在 c++ 标准的上下文中是什么意思?在不同的范围内接受多个相同名称的定义:

int a=1;

int main()
{
    int a=1;
}

尚不清楚 ODR 的实际含义。

【问题讨论】:

  • 作用域消除定义的歧义。
  • 名称没有 ODR 意义上的定义。对象、函数和其他类似的东西。

标签: c++ definition


【解决方案1】:

您在此处所指的内容不属于 ODR,因为变量的范围已更改。

名称(除了语句标签)如果是 在函数定义中声明(包括该函数的 参数列表)或在该函数内的大括号括起来的块中。它的 范围在其声明之后立即开始并运行到 立即阻止该声明。

您可以在此处阅读文章的其余部分:http://www.drdobbs.com/cpp/scope-regions-in-c/240002006

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-01
    • 2010-09-06
    • 2011-01-13
    • 2015-03-23
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多