C我想在類中定義靜態變數,但是不知道為什麼會出錯

時間 2021-09-12 00:09:21

1樓:

類中是可以定義類的,這叫巢狀類。

程式沒有問題,就是需要調整下變數宣告的順序。另外靜態成員變數要初始化。雖然你這個例子不初始化沒有問題,但是到使用的時候肯定是會報錯的。

class linkstack

;public:

static stack_data* data_top;

};linkstack::stack_data* linkstack::data_top = null;

2樓:丨花自飄零丨

在類中定義一個類叫做內部類。只對類內部可見。

報錯的原因是因為你stack_data的定義在後面,編譯器從前往後編譯。

編譯static stack_data* data_top;這句時找不到stack_data的型別所以報錯。

解決辦法是把stack_data的定義放到前面:如下class linkstack;

public:

static stack_data* data_top;};

3樓:匿名使用者

修改一下這個就好了

static class stack_data* data_top; //static stack_data* data_top;

php中static靜態變數和普通變數的區別

愛笑的高大傻 php中static 靜態變數和普通變數的區別 在變數的前面加上static 就構成了靜態變數 static 變數 static變數和普通變數的區別在於非靜態全域性變數的作用域是整個源程式,當一個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。而靜態全域性變數則限...

在C語言中關於全域性變數 靜態變數 的用法1 全域性變數與靜態變數的區別2 用static定義變數 常量以及定

1.1 某個檔案中的全域性變數是任何其他檔案都可見的,只要extern宣告一下,任何檔案均可使用 2 若在定義變數前加static,說明該變數只有該檔案內部可以使用,其他檔案無法使用。即static限定了變數的可見性,但生命週期仍是全域性的 2.static char a static const ...

c 中我想定義名字中帶變數的,c 中我想定義一個名字中帶變數的

define runname xml name param name name param void main 陣列不就是嗎,第一次a 0 第二次a 1 第三次a 2 c 中我想定義一個名字中帶變數的 尚雪珍匡真 這種情況下,區域性變數會遮蔽掉名字空間的變數,要訪問名字空間內的變數就要加上域字首 比...