私はコーディングのコミュニティで非常に新しいです。これは私の最初の年であり、私はデバッグアサーションエラーについて一度も言われていません。私はいくつかのソリューションのためのグーグルを試みたが、私はそれらを私のコードに関連付けることができないと私は答えを見つけることに失敗した。私のプログラムでデバッグアサーションが失敗した理由を知りません
「デバッグアサーションが失敗しました。式:文字列の添え字が範囲外です。 '
#include <iostream>
#include <string>
using namespace std;
//Declaring variables and arrays
int no_of_subs;
int main()
{
cout << " Please enter the number of subjects \n \n ";
cin >> no_of_subs;
// Local Variable
string grade;
for (int i=1; i <= no_of_subs; i++)
for (int counterSubs = 0; counterSubs < no_of_subs; counterSubs++)
{
cout << " Please enter the grade obtained for each subject \n \n "
<< i++ << " : ";
cin >> grade [counterSubs];
}
system ("PAUSE");
return 0;
}
私のコードは、GPAについてです。私は各科目の生徒が得た成績を格納する配列を作成したい。私は以下のように出力を期待していた:。
は、このプログラムと間違ったくさんある
for(int i = 1; i <= no_of_subs; i ++) 'インデックスが1つオフになっています。インデックスは '0'から' no_of_subs - 1'になります。 –
また、 'i'を2回インクリメントしています(最初の行と内部ループ内で)。これはあなたが本当にやりたいことなのでしょうか。上記の –
はそれを解決します。将来、デバッガの使用を検討すると、エラーが発生した場所を直感的に理解できます。あなたは 'string '型の幸運なユーザです。 –