0

これは今まで見たことのない奇妙なエラーで、修正方法もわかりません。クラッシュは次の場所で発生します

na = m

関連するコードは次のとおりです。問題の行は * でマークされています。

主に:

#include <cstdlib>
#include <iostream>
#include "stu.h"
#include <string>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[])
{   
    stu stu;
    int score[2];

    std::string name;
    std::cout <<"enter name:";
    std::cin >> name;
     //THIS IS AN EDIT IN  AFTER SEEING THAT A IMPORTANT ERROR POINT WAS NOT SHOWN TO THE FIRST COUPLE REPLY 
       ************************************************************
     //THIS IS CAUSING THE PROBLEM WHEN I COMMENT IT OUT THE PROGRAM WORKS 
     std::cout << "enter score 1:";
     std::cin >> score[0];
     std::cout << "enter score 2:";
     std::cin >> score[2];
     std::cout << "enter score 3:";
     std::cin >> score[3];
      *************************************************************
    stu.setname( name );

    // ...
}

stu.ccp

void stu::setname(std::string m)
{
    std::cout <<"1";//<--to find where the code was crashing 

    na = m; // *** the crash

    std::cout <<"1";
}

stu.hpp

class stu
#include <string>
{
public:
    stu();
    void setname(std::string);
    std::string getname();
    void settest(int, int,int);
    void display();

private:
    std::string na;

    int score[2];   
};
4

4 に答える 4

0
int score [2]

値のスコア[0]とスコア[1]スポットのみがあります。使ってみる

   int score[3]

次に、値を保存します

 score[0];
 score[1];
 score[2];
于 2013-10-24T20:04:11.950 に答える