次のコードを実行すると、セグメンテーション エラーが発生します。
const int SENSORS = 65;
static float coefficient[SENSORS][6];
const int NUMSUBSYSTEM = 6;
const int ALLSENSORS = SENSORS * NUMSUBSYSTEM;
using namespace std;
int row = 0;
static int outputError = -1; //static to retain value
ifstream equationFile("equation.txt");
static string sensorNameEquation[ALLSENSORS];
static float coefficientOverride[ALLSENSORS][6]; //static to keep large array off stack
static string dependantSensor[ALLSENSORS]; //static to keep large array off stack
static float baseTemp[ALLSENSORS]; //static to keep large array off stack
printf("Total sensors: %d\n", ALLSENSORS);
row = 0;
if(equationFile)
{
while( equationFile >>
sensorNameEquation[row] >>
coefficientOverride[row][0] >> coefficientOverride[row][1] >>
coefficientOverride[row][2] >> coefficientOverride[row][3] >>
coefficient[row][4] >> oefficient[row][5] >>
dependantSensor[row] >> baseTemp[row])
{
row++;
printf("sensors: %d\n", row);
}
equationFile.close();//done reading from file...close it
}
方程式ファイルの 102 行目に到達し、エラーをセグメント化します。これはなぜでしょうか?