私は約6年前にC++を学びましたが、新しいものを使用してインスタンス化しない限り、配列のセクションで覚えています。サイズは静的で、実行時ではなくリテラル定数でソースコードでのみ設定できます。は静的配列の振る舞いを変更しましたか?
しかし、私はちょうど
http://www.cplusplus.com/doc/tutorial/dynamic/
でチュートリアルで遊んでと新しいのない、そしてそれは働いていた私の驚きにそれを行うことを試みました。私は何かを誤解していますか? 元のコードは、上記のURLにありますが、以下の変更されたコードの内容を確認することは難しくありません。
は、私は、文字列、ベクトルなどで実現...配列は、本当に必要な(この問題は私に起こったことがない理由はおそらく説明)が、ちょうどユーモアは私:)
// rememb-o-matic
#include <iostream>
#include <new>
using namespace std;
int main()
{
int i,n;
// int * p;
cout << "How many numbers would you like to type? ";
cin >> i;
int p[i];
// p= new (nothrow) int[i];
// if (p == 0)
// cout << "Error: memory could not be allocated";
if (false)
cout << "whut?" << endl;
else
{
for (n=0; n<i; n++)
{
cout << "Enter number: ";
cin >> p[n];
}
cout << "You have entered: ";
for (n=0; n<i; n++)
cout << p[n] << ", ";
// delete[] p;
}
return 0;
}
これはC++では不正です。どのコンパイラを使用していますか? –
i686-apple-darwin11-llvm-g ++ - 4.2 – scruffyDog
もしそうでなければ、 '-std = C++ 98 -pedantic'か' -std = C++ 0x -pedantic'のどちらかを使ってください。適切な警告。 –