"プログラミングプログラミングの初歩C++"という本を読んでいます。私はこの提供されたスクリプトを完全に入力しました(オンラインダウンロードから提供されたスクリプトを貼り付けて、すべての文字を比較するために元に戻す/やり直しを使用して、行末と実際に関数名の最初の文字を大文字にする以外は差異を見つけませんでした)。変更はありませんが、付属のスクリプトは完璧にコンパイルされますが、私は(スクリプトをコピー/貼り付けない限り)私はしません。私は2番目の関数のエラーを与えています:GoodSwap()
"関数型のint型とint型の無効なオペランド" book from
#include<iostream>
using namespace std;
void BadSwap(int x, int y);
void GoodSwap(int* const pX, int* const pY);
int main(){
int myScore = 150;
int yourScore = 1000;
cout << "Original Values" << endl;
cout << "myScore : " << myScore << endl;
cout << "yourScore: " << yourScore << endl;
cout << "Calling BadSwap()" << endl;
BadSwap(myScore, yourScore);
cout << "myScore : " << myScore << endl;
cout << "yourScore: " << yourScore << endl;
cout << "Calling GoodSwap()" << endl;
GoodSwap(&myScore, &yourScore);
cout << "myScore : " << myScore << endl;
cout << "yourScore: " << yourScore << endl;
return 0;
}
void BadSwap(int x, int y){
int temp = x;
x = y;
y = temp;
}
void GoodSwap(int* const pX, int* const pY){
int temp = *pX
*pX = *pY;
*pY = temp;
}
いいえ、C++プログラムはスクリプトではありません。いいえ、「GoodSwap」は非常に悪いです。エラーメッセージは非常にリテラルです。 –
「良い」とは、*動作することを意味します。 :-) –
'int temp = * pX'とにかく、C++の本が掲載されています[ここ](http://stackoverflow.com/q/388242/4115625) – Danh