まずは、以下のコードを実行してみます。
#include <iostream>
int main() {
int mult(int num_i, int num_k);
std::cout << mult(5, 6) << "\n";
return (0);
}
int mult(int num_i, int num_k) {
num_i = 10;
num_k = 20;
return (num_i * num_k);
}
実行結果。
200
関数定義の中で、num_i = 10、num_k = 20により、渡された引数が関数内で変更されて、計算結果を出力しています。
今度は、ためしにconst宣言を引数に付けてみます。
#include <iostream>
int main() {
int mult(const int num_i, const int num_k);
std::cout << mult(5, 6) << "\n";
return (0);
}
int mult(const int num_i, const int num_k) {
num_i = 10;
num_k = 20;
return (num_i * num_k);
}
このコードをコンパイルしようとしますと・・・
'num_i' : const である変数へは割り当てることはできません 'num_k' : const である変数へは割り当てることはできません
と、コンパイルエラーが表示され、ビルドできません。
つまり、constで宣言した引数は、関数内で値の変更ができないということになります。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/205