基本的なconstについて
Posted: 2012年3月31日(土) 01:33
constの特性を知ろうと初歩的なプログラムを組んだのですが
変換により修飾詞が失われるとC2440のエラーが出てしまいます。
vc++2008 Express Edition で書いております。
試行錯誤を繰り返した結果このようになりました。
最も上のコメントアウトを外した場合、上に書いたエラーが起こります。
numとnum_pointの両方をconstで修飾することはできないのでしょうか?
ポインタだろうと何だろうとint型の変数をconstで修飾し、
その後に値を代入してプロンプトで表示させるだけのつもりなのですが
実際には期待通りに動きません。
それはなぜなのでしょうか?ご指導願います。
変数num_pointはconst修飾されたnumのポインタの変数のつもりです。
変数aはconst修飾された変数を代入に使えるか試したものです。
変換により修飾詞が失われるとC2440のエラーが出てしまいます。
vc++2008 Express Edition で書いております。
#include<stdio.h>
int main(){
int const num = 5;
// int *const num_point = #
int a = num;
// int arra[5] = {0,11,22,33,44};
// num =num+5;//const修飾されているからError
// num_point++;//const修飾されているからError
a++;//定数を代入されたものは定数ではない。
// int i;
// for( i=0; i<5; i++){
// printf("%d,%d\n",arra[i],&arra[i]);
// }
printf("\na = %d\n&a = %d\n",a,&a);
printf("num = %d\n&num = %d\n",num,&num);
// printf("\nnum_point = %d\n\n",num_point);
return 0;
}
最も上のコメントアウトを外した場合、上に書いたエラーが起こります。
numとnum_pointの両方をconstで修飾することはできないのでしょうか?
ポインタだろうと何だろうとint型の変数をconstで修飾し、
その後に値を代入してプロンプトで表示させるだけのつもりなのですが
実際には期待通りに動きません。
それはなぜなのでしょうか?ご指導願います。
変数num_pointはconst修飾されたnumのポインタの変数のつもりです。
変数aはconst修飾された変数を代入に使えるか試したものです。