定义的定义是什么?

时间:2014-05-13 15:53:20

标签: c++ definition

定义在c ++标准的上下文中意味着什么?在不同的范围内接受了几个相同名称的定义:

int a=1;

int main()
{
    int a=1;
}

目前尚不清楚ODR究竟意味着什么。

1 个答案:

答案 0 :(得分:2)

由于变量的范围已发生变化,因此您在此处所指的不属于ODR。

  

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

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