У меня есть этот файл cpp.Ошибка C++ 'ClassName Not Declared'
dsets.cpp:
#ifndef DSETS_CPP
#define DSET_CPP
//Adds elements to the DisjointSet data structure. This function adds
//x unconnected roots to the end of the array.
void DisjointSets::addelements(int x){
}
//Given an int this function finds the root associated with that node.
int DisjointSets::find(int x){
return 0;
}
//This function reorders the uptree in order to represent the union of two
//subtrees
void DisjointSets::setunion(int x, int y){
}
#endif
и этот файл заголовка
dsets.h:
#ifndef DSETS_H
#define DSET_H
#include <iostream>
#include <vector>
using namespace std;
class DisjointSets
{
public:
void addelements(int x);
int find(int x);
void setunion(int x, int y);
private:
vector<int> x;
};
#include "dsets.cpp"
#endif
И я получаю сообщение об ошибке, что не говорит, что «DisjointSets еще не был объявлен "
Как выглядит ваша команда компиляции? – James
Кроме того, я не знаю, если это опечатка, но токен, используемый для #ifndef и #define, должен быть таким же. – Stephen
Другое дело, не ставьте «использование пространства имен ...;» в файле заголовка. – Stephen