-2
私の家庭では、ダイナミックな配列やその他の関数の構築を依頼しています。私は、問題の残りの部分を完了するために管理してきましたが、私は関係なく、アレイは、アレイ内のすべての値が意志でどのように大きなD[0]=11
とD[1]=12
を、設定しない場合、現在、私は理解していない1つのバグ...C++動的配列のインデックスと容量の問題
があります12になると、その容量は12となります。
これは私が以下に関連すると考えているコードです。私はより多くの要求を提供します。
TEST.CPP @someprogrammerdudeの要求によって
int main()
{
dynarr<int> D(15);
std::cout << "The capacity of D is " << D.getCapacity() << std::endl;
D[0] = 11;
D[1] = 12;
std::cout << "D[0] = " << D[0] << std::endl; //12
std::cout << "D[1] = " << D[1] << std::endl; //12
std::cout << "The capacity of D is " << D.getCapacity() << std::endl; //12
return 0;
}
余分なコード:
template <class dynElem>
dynElem & dynarr<dynElem>::operator[](int ndx) throw(InvalidIndex)
{
if (ndx < 0) {
throw InvalidIndex("Array Index is negative");
}
else if (ndx > capacity) {
throw InvalidIndex("Array Index is too large");
}
}
template <class dynElem>
int dynarr<dynElem>::getCapacity()
{
return capacity;
}
それはあなたが使用する方法を学習する必要がある場合がありますように聞こえますデバッガを使用してコードをステップ実行します。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。さらに読む:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
_dynamic配列_を作成する慣用方法C++は必要な型の 'std :: vector'を使います。 –
インデックス演算子 'operator []'と 'dynElement'クラスと' getCapacity'関数を表示してください。要するに、[最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。 –