动态数组错误

Error with Dynamic Array

本文关键字:错误 数组 动态      更新时间:2023-10-16

我试图创建一个在运行时确定大小的数组类。然而,当我试图在"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;
}

这里缺少类名:

void addToSet(int vertice, int distance)

你的意思:

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

实际上,您正在声明和定义一个完全不相关的函数,并且在该函数的作用域中没有这样的变量pathSet -因此未声明的标识符。

旁注,您可能不希望将size设置为公共成员变量。