c++ - 使用外部变量时出现问题

标签 c++

//FILE 1
char *ptr="Sample";

void SomeFunction() {
  cout<<ptr<<endl;
}

//FILE 2

void SomeFunction();
int main() 
{
  extern char ptr[];
  SomeFunction();
  cout<<ptr<<endl;
}
main 函数中的

ptr 正在打印一些垃圾值。请告诉我原因。

最佳答案

ptr 在文件 1 中声明为指针,在文件 2 中声明为数组。指针和数组不是一回事,即使它们有时表现相似。

确保您的 extern 声明与其定义中指定的变量类型匹配。

关于c++ - 使用外部变量时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452471/

相关文章:

c++ - 如何从C++中的文件读取字符数组(带有一些空间)

c++ - 在 C++ 运算符中调用析构函数以释放内存的正确方法是什么?

c++ - BFS(广度优先搜索)邻接矩阵C++

c++ - 程序结束时出现段错误

c++ - 使用 BOOST::GIL 将 CMYK 图像转换为 RGB

c++ - Boost::asio udp socket - 我应该如何使用 API 来允许取消读取?

c++ - Qt Creator 无法添加工具包,也无法选择Qt版本

c++ - 比较来自 typeid() 运算符的两个 type_info

c++ - ncurses A_ALTCHARSET 字符未在 OSX 上显示

c++ - operator<< 不能使用其 friend 数组的 IT 成员