簡體   English   中英

取消引用整數的指針會導致分段錯誤

[英]Dereferencing a pointer to integer causes a segmentation fault

#include <iostream>


void PassByValue(int num) {
    std::cout << "inside PassByValue function" << std::endl;
}

void PassByRef(int &num) {
    std::cout << "inside PassByRef function " << std::endl;
    std::cout << "value of num is: " << num << std::endl;
    num = 50;
    std::cout << "value of num is: "<< num << std::endl;
}

int main() {
    int num1;
    int* pNum;
    num1 = 3;
    *pNum = 5;
    std::cout << "pNum is: " << *pNum << std::endl;
    PassByValue(num1);  
    PassByRef(*pNum);
}

這是我的代碼,主功能中的該控制台輸出行與延遲引起了問題。 我在這里有點困惑。 我的作業做錯了嗎? 請幫忙。 謝謝。

*pNum = 5; pNum未初始化!
您需要pNum指向一些實際內存。
例如:

pNum = new int();
*pNum = 5;
....
// Or:
int num2;
pNum = &num2;
*pNum = 5;
....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM