小编Ove*_*r10的帖子

C++非法数字,简单问题

我正在反对这个错误:

int temp = 0789;

error C2041: illegal digit '8' for base '8'
Run Code Online (Sandbox Code Playgroud)

我能理解的是,编译器将任何以 0 开头的数字(如 0123)理解为八进制。但是我怎么能告诉编译器只在前面加上 0 呢?

c++

5
推荐指数
2
解决办法
4920
查看次数

全局静态指针问题

从复杂的情况来看,这是一个相当大的问题.我有一个静态指针坐在我的一个头文件中.哪个被包含在各处,这就是我把它作为静态指针的原因.这样我就可以在我的main函数中快速初始化它,以便其他文件可以使用它.

问题是这个,即使在我初始化它并把东西放入其中之后.其他文件只能找到NULL.就像包含带有静态指针的头文件的每个文件都为自己创建一个副本,即使其他人初始化它,每个文件都有自己独立的副本.否定当然,有一个全局变量的目的.

我怎么能应付这个?也许我理解一个静态变量错了,或者可能是因为它是一个指针?

我应该将其声明为:&variable = 5; 或者只是变量= 5; 或&变量=(int)5?

variables pointers visual-studio-2010 visual-c++

2
推荐指数
2
解决办法
2988
查看次数