0

次のコードを実行すると、「デバッグ アサーションに失敗しました... Expression _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)」というエラーが表示されます。

readTXT メソッドに char* オブジェクトを渡す必要がありますが、ユーザーが自分で値を入力できるようにしたいと考えています。

char * mapName;
int main()
    {
        //load map
        int mapSelection;
        cout << "select a map";
        cin >> mapSelection;

        switch (mapSelection)
        {
        case 1:
            mapName = "walls1.txt";
            break;
        case 2:
           mapName = "walls2.txt";
           break;
        case 3:
            mapName = "maze1.txt";
            break;
        case 4:
           mapName = "maze2.txt";
           break;
        }

        map = readTXT(mapName, 8, 11);
        delete mapName;
    ...

これは readTXT メソッドのコードです

double* readTXT(char *fileName, int sizeR, int sizeC)
{
  double* data = new double[sizeR*sizeC];
  int i=0;
  ifstream myfile (fileName);
  if (myfile.is_open())
  {

    while ( myfile.good())
    {
       if (i>sizeR*sizeC-1) break;
         myfile >> *(data+i);
         cout << *(data+i) << ' '; // This line display the converted data on the screen, you may comment it out. 
         if (i == 10 || i == 21 || i == 32 || i == 43 || i == 54 || i == 65 || i == 76)
         {
             cout << "\n";
         }
         i++;
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 
  //cout << i;

  return data;
}
4

2 に答える 2