2016-05-17 17 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&」とは何を考えているのかは分かりませんが、それをしていないのです。ちょうど 'har 'を渡す。そしてbtw、あなたのプロトタイプと実装が一致しません。 – WhozCraig

答えて

3

次のように参照関数の定義によって、あなたのパスがになります。&

01:

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

あなたは演算子のアドレスを使用せずに、それを呼び出す必要があります

int ref = passingByRef(har); 

参照渡しの現在のコードは、ポインタ渡しのコードによく似ています。

関連する問題