gpt4 book ai didi

C++ 'ClassName Not Declared' 错误

转载 作者:行者123 更新时间:2023-11-30 03:11:02 26 4
gpt4 key购买 nike

我有这个cpp文件。

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 尚未声明”
~
~

最佳答案

您的包含倒退了。您需要包含 .cpp 文件中的 header (.h) 文件,而不是像现在这样反过来。

.cpp文件是编译器实际要编译的文件; .h 文件只是为了包含在 .cpp 文件中。

此外,您不需要对 .cpp 文件的内容进行保护,因为您永远不会#include .cpp 文件(好吧,在有限的情况下可能完成,但这并不常见)。您只需要保护头文件的内容。

关于C++ 'ClassName Not Declared' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com