动态数组出错

时间:2015-05-25 00:53:19

标签: c++ arrays dynamic dynamic-allocation

我正在尝试使用在运行时确定的大小的数组创建一个类。但是,当我尝试在“addToSet”函数中访问该数组时,我收到“未声明的标识符错误”。任何帮助,将不胜感激。我是C ++的新手。

标题文件:

class ShortestPathSet
{
private:
    //Variables
    int *pathSet;

public:
    //Variables

    int size;


    //Constructor
    ShortestPathSet(int numVertices);

    //Functions
    void addToSet(int vertice, int distance);

};

班级档案:

#include "ShortestPathSet.h"

using namespace std;

ShortestPathSet::ShortestPathSet(int numVertices)   
{
    size = numVertices;
    pathSet = new int[numVertices];
}

void addToSet(int vertice, int distance)
{
    pathSet[vertice] = distance;
}

1 个答案:

答案 0 :(得分:2)

您在这里错过了班级名称:

void addToSet(int vertice, int distance)

你的意思是:

void ShortestPathSet::addToSet(int vertice, int distance)
     ^^^^^^^^^^^^^^^^^

按原样,您正在声明并定义一个完全不相关的函数,并且在该函数的范围内没有这样的变量pathSet - 因此未声明的标识符。

旁注,您可能不想让size成为公共成员变量。