為什麼vc編譯了以後沒有錯啊,為什麼執行就錯了

2022-11-16 04:16:13 字數 1226 閱讀 3347

1樓:

//你的data都沒有例項,pointer指向誰呢?

//修改了下

ch_stack.h

struct data;

class ch_stack;

ch_stack.cpp

#include "ch_stack.h"

const int max_len=100;

const int empty=-1;

const int full=max_len-1;

struct data;

void ch_stack::clear()void ch_stack::push(char c) //改了下char ch_stack::

pop() //改了下char ch_stack::top() //改了下bool ch_stack::empty()bool ch_stack::

full()void ch_stack::getp(data& data)obj.cpp

#include "ch_stack.h"

#include

using namespace std;

int main()

;cout<

條件

obj.push(a[i]);

cout<

top()<

return 0;}

2樓:

obj.clear();

點 clear方法 你進clear成員函式去看看pointer->tp=empty;

pointer 指向那個結構體了?

野指標 都不知道它 知道** ,結構體都不存在 **的結構體的tp成員,

怎麼能給 乙個不存在的 結構體的tp成員 賦值 呢?

3樓:匿名使用者

ch_stack類裡,應該用建構函式將pointer指標初始化為null。

否則,在呼叫obj.clear()時,pointer->tp就出錯了(因為此時pointer還沒有被初始化,就直接呼叫其成員了)。

2、每個類的成員函式中都需要增加pointer是否有效的判斷。

為什麼老師用DevC編譯沒有錯誤,同樣我編譯就顯示出錯,是系統問題嗎

一般新人出現這種問題都是符號中英文,缺少符號,變數名錯誤等,仔細檢查。這個c程式編譯顯示沒有錯誤,為什麼不能執行?引數復必須制是指標 位址 bai 才可du以zhi。scanf 函式要求參 數必須是指標類dao型,即將位址傳輸到其內,才可以讓a b變數中獲取到資料。如果你學過指標,你就會理解了。c語...

C語言,這裡編譯沒有錯誤,為什麼執行時出錯

x是整型,在最後乙個printf函式 中應該用 d,你用的是 lf。如果你要回用 lf,程式應該改答為 include stdio.h void main 是求最大公約數吧?printf lf x 中的控制符不正確,應改為 d,即printf d x emm,我跑了下沒問題啊,可以說下程式是做什麼的...

為什麼瘦了60斤以後酒窩沒有了,為什麼酒窩會消失

你好!酒窩是由 下面的肌肉運動形成的,你一下子瘦那麼多 面部的 鬆馳了肌肉也少多了,表情肌收縮的時候牽動面部的的 就不明顯了所以原來的小酒窩就沒有了,緩一段時間你的面部 收縮崩緊後就會再次出現的。人體面部的表情肌是直接附著在面部 上,表情肌收縮的時候就自然牽動面部 於是面部出現各種皺紋,產生喜 怒 ...