读取访问冲突?

时间:2020-04-22 00:33:02

标签: c++ visual-c++

我正在编写一些C ++代码来创建我在另一个类的向量内创建的一个类的项。我似乎能够在向量中创建项目,但是当我尝试在向量中读取项目的变量时,出现错误

Exception thrown: read access violation.
_Right_data was 0x8.

在文档xstring中。

我认为这可能与我没有真正在向量中创建每个团队有关。

我编写的与之相关的代码是

    for (int x = 1; x <= mainLeague.getNumTeams(); x++) {
        std::cout << "please enter the name of team " << x << ":";
        std::getline(std::cin, currLine);
        parsed = parseText(currLine, &posResponsesTeamNames);
        if (parsed == 2) {
            prepForEnd();
            return 1;
        }
        else if (parsed == 0) goto enterTeamNames;
        mainLeague.createTeam(currLine);
    }
    std::cout << mainLeague.getName(5);
}
#pragma once
#include "team.h"
#include <string>
#include <vector>
#include <iostream>
class league
{
    std::vector<team*> teams;
    int numTeams, numInitTeams = 0;
    const float sysCon = 0.5;
public:
    league(int a);
    int getNumTeams();
    void initVector(int numTeams);
    void createTeam(std::string name);
    std::string getName(int num);
};
void league::createTeam(std::string name)
{
    if (numInitTeams < teams.size()) {
        team currTeam = team::team(name);
        teams.at(numInitTeams) = &currTeam;
        numInitTeams;
    }
    else {
        std::cout << "error max amount of teams already created";
    }
}
#pragma once
#include<string>

class team
{
    float RD;
    int rating;
    std::string name;
public:
    team(std::string name);
    team();
    std::string getName();
};
std::string team::getName()
{
    return team::name;
}

0 个答案:

没有答案