2017-10-11 22 views
-8
#include <iostream> 
#include <stdlib.h>    
#include <time.h> 
using namespace std; 

void Switch(int& num_1, int& num_2) 
{ 
    int temp; 
    temp = num_1; 
    num_1 = num_2; 
    num_2 = temp; 
} 
int main() 
{ 
cout << Switch(1,2); 
} 

這是我的代碼,它應該將第一個參數與第二個參數切換。我寫的這個函數有什麼問題?

+0

歡迎來到Stack Overflow。我懷疑你的函數沒有返回任何數據,因此你看不到任何輸出。什麼是預期的輸出?該功能的預期結果是什麼?它應該做什麼? – Twisty

+2

'Switch'沒有什麼特別的錯誤。但'main'不會編譯。當在這裏詢問編譯器錯誤時,通常應該複製並粘貼你得到的編譯器錯誤。無論如何,你希望發生什麼? – aschepler

+1

文字不能綁定到非const的左值引用,所以沒有辦法編譯這個代碼。您不能修改數字文字。 –

回答

2

您不能更改常數值。 A 1不能是2.

嘗試使用變量

int main() 
{ 
    int a = 1; 
    int b = 2; 
    cout << "a = " << a << "\n"; 
    cout << "b = " << b << "\n"; 
    Switch(a,b); 
    cout << "a = " << a << "\n"; 
    cout << "b = " << b << "\n"; 
}