マネージ配列の個数 – プログラミング – Home

通知
すべてクリア

[解決済] マネージ配列の個数


Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

いつもお世話になっておりますKonです。よろしくお願いします。

PCはWinXP、Visual C++ 2005 Express Edition を使用しています。
Windowsフォームアプリケーション でプロジェクトを作成しています。

Fruit というクラスの double Apple という変数を
3つ要素のある配列にしたいです。

public ref class Fruit
{
public:
array<double>^ Apple;
Fruit(){
Apple = gcnew array<double>(3){ 0, 1, 2};
    };
}

void Main(){

double test;
Fruit fru

test = fru.Apple[9];

}

Appleは3つと指定したのに、9つ目を書いてもエラーになりません。
なぜ、配列を3つと指定できないのでしょうか?


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> 9つ目を書いてもエラーになりません。

コンパイル時にはエラーにならんでしょうね。
実行時はどうですか?

> なぜ、配列を3つと指定できないのでしょうか?

int N = ユーザが入力したテキトーな大きさ;
Apple = gcnew array<double>(N){ 0, 1, 2};

だったらコンパイル時にはチェックのしようがないでしょう?


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> Appleは3つと指定したのに、9つ目を書いてもエラーになりません。
実行できますか?

コンパイル時に見つけるのは不可能です。

int n[10];
int index;
scanf(%d, &index);
printf(%d\n, n[index]);

みたいにインデックスを変数にした場合、実行しないとエラー検出できませんし。


返信引用
Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

επιστημη さん、Blueさんいつもありがとうございます。

実行時には、エラーになりました;;;;
”9つ目は無いよ”ってエラーが出そうな気がしたので、
記述が間違っているのではと心配になったのですが、
コンパイルでは、チェックできないんですね。

ありがとうございました。m(_ _)m


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました