当前位置:  开发笔记 > 编程语言 > 正文

你能在C++中将指针声明为extern吗?

如何解决《你能在C++中将指针声明为extern吗?》经验,为你挑选了1个好方法。

我有以下一些无法编译的遗留C++代码:

#include 
#include 

extern ostream *debug;

GCC(g ++)抱怨:"在'*'令牌之前预期的初始化程序"

环顾四周似乎更常见的是将这些声明为外部引用,如下所示:

extern ostream& debug;

为什么指针无效,但是在这种情况下引用?

解:

如下所述,真正的问题是缺少std :: namespace说明符.显然,这在较旧的C++代码中很常见.



1> Johannes Sch..:

是的,您可以使用extern声明一个指针.您的错误很可能是您忘记了使用资格std:::

// note the header is cstdio in C++. stdio.h is deprecated
#include 
#include 

extern std::ostream *debug;

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有