gpt4 book ai didi

c++ - 在 C++ 中多次声明函数和变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:25 30 4
gpt4 key购买 nike

在 C++ 中,多次声明变量会在编译期间显示错误。例如:

int x;
int x;

虽然多次声明一个函数在编译期间不会显示任何错误。例如:

int add(int, int);
int add(int, int);

为什么在 C++ 中有这种区别?

最佳答案

请注意 int x; 不(只是)declaration ,它是 definition .所以自ODR以来出现错误被违反,即在一个翻译单元中只允许一个定义。

变量的声明可以写成:

// a declaration with an extern storage class specifier and without an initializer
extern int x;
extern int x;

同时 int add(int, int); 恰好是一个(函数的)声明。一个翻译单元中的多个声明是可以的,不违反 ODR。

关于c++ - 在 C++ 中多次声明函数和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373700/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com