Je suis nouveau en C++ et j'appelle appel par référence maintenant.Pourquoi nous devons passer les valeurs au lieu de l'adresse dans une fonction "appel par référence" en C++?
j'ai appris ce bloc de code sur mon matériel:
void callByRef(&a, &b);
int main(){
int k = 12;
int m = 4;
callByRef(k, m) //QUESTION HERE
return 0;
}
void callByRef(&a, &b){
a += 3;
b -= 2;
return;
}
Donc, ma question est lors de la déclaration callByRef, nous utilisons les adresses des a et b les paramètres, donc quand nous appelons callByRef dans la principale, pourquoi faut-il passer (k, m) au lieu de (& k, m)?
C'est fondamental, mais je veux juste obtenir la bonne image pour mes études futures. Merci les gars!
"nous utilisons les adresses de a et b comme paramètres" Quoi? La déclaration devrait ressembler à 'void callByRef (int & a, int & b)', et c'est __not__ en prenant l'adresse des paramètres, c'est les déclarer comme références. – tkausl
'void callByRef (& a, & b)' [n'est pas légal C++] (https://ideone.com/dpTUvj). Si c'est ce que contient votre matériel de cours, vous devriez vous plaindre et réclamer votre argent. –