1

私は C++ が初めてで、構文のヘルプが必要です。

コンストラクターが機能しない理由を誰かが理解するのを手伝ってくれますか? 私のprimeStackが素数のみを格納することを除いて、Stackクラスの実装を作成しています。デフォルト値の 25 が必要です。

値を渡さずに新しい primeStack オブジェクトを宣言すると、エラーが発生します。25 はデフォルトとして機能するべきではありませんか??

.h ファイル内:

primeStack(unsigned int size=25);

primeStack.cpp で:

primeStack::primeStack(unsigned int size=25)
{
    this->size = size;
    data = new int[size];
    top = 0;
}
4

2 に答える 2

4

.h ファイルでデフォルト値を指定する場合でも、パラメーター名を指定する必要があります。

primeStack(unsigned int size = 25);
于 2012-09-28T09:34:47.150 に答える
3

まったく同じプロトタイプで実装と定義を行い、デフォルトパラメータにも変数名を記述します。したがって

primeStack(unsigned int size = 25);

そして、ヘッダー ファイルにデフォルト パラメータを含めます。コンパイラは、コンパイル時にそこから値を取得します。

于 2012-09-28T09:33:59.130 に答える