const宣言の引数を持つ関数

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

まずは、以下のコードを実行してみます。

#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で宣言した引数は、関数内で値の変更ができないということになります。


日時: 2008年06月04日 06:11
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/205

この記事にトラックバックされる方は、参照先が分かるようにするために、「const宣言の引数を持つ関数」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - C言語とC++勉強ルーム