Visual Studioでは1度変数宣言、配列宣言をおこなったならそのときと同じ変数名、配列名をつかって変数宣言、配列宣言を行うことはできません。🍓

ソーラー「


char hairetu[]="nekoneko";


のように


配列をつかって文字列データ"nekoneko"をメモリに格納する場合と


char* hairetu="nekoneko";


のように


ポインタ変数をつかって文字列データ"nekoneko"をメモリに格納する場合の


違いを述べる前に


まず基本的な事柄の確認をしてみようよ。」


てんC「そうですね。


その確認しなければならない基本的な事柄とは



Visual Studioでは1度変数宣言、配列宣言をおこなったなら


そのときと同じ変数名、配列名をつかって変数宣言、配列宣言を行うことはできません。



というものですね。」




#include <iostream>


using namespace std;


int main() {


int a=5;

int a=6;


cout<< a << "\n";


return 0;


}


ビルド実行結果



エラー C2374 'a': 再定義されています。2 回以上初期化されています。

エラー C2088 '<<': class に対して正しくありません。



てんC「このように


Visual Studioでは


変数宣言


int a;



2回実行することはできません。



さらに次のプログラムをご覧ください。



#include <iostream>


using namespace std;


int main() {


char hairetu[] = "neko";

char hairetu[] = "nyan";


cout << a << "\n";


return 0;

}


ビルド実行結果


エラー C2374 'hairetu': 再定義されています。2 回以上初期化されています。

エラー C2088 '<<': class に対して正しくありません。



てんC「このように


Visual Studioでは


同じ配列名の配列宣言、初期化


char hairetu[] = "neko";

char hairetu[] = "nyan";



2回実行することはできません。


では😊


さらに次のプログラムをご覧ください。


#include <iostream>


using namespace std;


int main() {


int hairetu = 6;


cout << hairetu << "\n";

char hairetu[] = "neko";


cout << hairetu << "\n";


return 0;

}


ビルド実行結果



エラー C2040 'hairetu': 'char []' は 'int' と間接操作のレベルが異なります。

エラー C2088 '<<': class に対して正しくありません。



てんC「このプログラムでは


同じ名前hairetuをつかって


変数宣言、初期化である


int hairetu = 6;


配列宣言、初期化である


char hairetu[] = "neko";


がおこなわれています。


このように


配列名と変数名が同じhairetuとなっている場合は


ビルドエラーが表示されるように設定されています。」


  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る