2016-05-17 70 views
-1
#include <iostream> 
#include <conio.h> 
using namespace std; 
int passingByValue(int); 
int passingByRef(int&); 
int main(){ 

    int rah = 51; 
    int value = passingByValue(rah); 
    int har =52; 
    int ref = passingByRef(har&); 

    cout<<"passing by value is = "<<value<<endl; 
    cout<<"passing by ref is = "<<ref<<endl; 

     system("pause"); 

} 

    int passingByValue(int ol){ 
    return ol * ol; 
} 
int passingByRef(int *x){ 
    return *x=100; 
    } 

其簡單的函數傳遞的值和傳遞參考,但我得到一個錯誤,每當我通過引用錯誤是11 31 D:\ c + +編程實踐\ prog21.cpp [錯誤]預計前主表達式「)」令牌傳遞通過引用越來越錯誤在C++

+1

我不知道你覺得'哈'是做什麼的,但它不*做它。只要通過'har'。順便說一句,你的原型和實現不匹配。 – WhozCraig

回答

3

你通過引用傳遞函數定義應該如下:

int passingByRef(int &x){ 
    return x=100; 
    } 

你也應該說是不使用運營商的地址:&

int ref = passingByRef(har); 

通過引用傳遞的當前代碼看起來更像是指針傳遞的代碼。