繁体   English   中英

C++:声明为 extern 时对 const 指针的未定义引用

[英]C++: undefined reference to const pointer when declaring as extern

编写以下程序时出现编译器错误:

  • file1.cpp:声明/定义几个变量
  • file1.cpp:定义一个指向这些变量中的每一个的指针数组-> 该数组应为常量(=始终指向这些变量)
  • file2.cpp:这里我想使用指针数组并使用它指向的变量。
    //file1.cpp
    int a,b,c,d;
    int *const pa[4] = {&a, &b, &c, &d};

    //file2.cpp
    extern int *const pa[4];

编译时它会删除 file2.cpp 中的错误:

undefined reference to `pa'

如何使用常量指针定义该指针数组并在不同的源文件中使用它?

此致 :-)

默认情况下, const变量具有内部链接。 要获得外部链接,请将extern添加到定义中:

extern int *const pa[4] = {&a, &b, &c, &d};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM