What exactly is One Definition Rule in C++?

前端 未结 1 490
温柔的废话
温柔的废话 2020-11-22 05:50

What exactly does One Definition Rule in C++ say? The only trustworthy occurence I can find is in The C++ Programming Language, 3rd. ed., P. 9.2.3. Is there any off

相关标签:
1条回答
  • 2020-11-22 05:56

    The truth is in the standard (3.2 One definition rule) :

    No translation unit shall contain more than one definition of any variable, function, class type, enumeration type or template.

    [...]

    Every program shall contain exactly one definition of every non-inline function or object that is used in that program; no diagnostic required. The definition can appear explicitly in the program, it can be found in the standard or a user-defined library, or (when appropriate) it is implicitly defined (see 12.1, 12.4 and 12.8). An inline function shall be defined in every translation unit in which it is used.

    0 讨论(0)
提交回复
热议问题