gpt4 book ai didi

c++ - 静态函数的问题,g++ 说该类尚未声明

转载 作者:行者123 更新时间:2023-11-30 00:40:23 24 4
gpt4 key购买 nike

我正在尝试编译此代码,但 g++ 一直告诉我“TimeFinder”尚未声明

头文件

#ifndef _TIMEFINDER_H
#define _TIMEFINDER_H
#include <vector>
#include "timefinder.cpp"
using namespace std;
class TimeFinder
{
public:
static vector<int> time_from_name(string filename);
static int calc_seconds (vector <int> time);

};
#endif

CPP文件

#include "timefinder.h"
using namespace std;
vector<int> TimeFinder::time_from_name(string filename)//Line 14
{
//Method Body
}

int TimeFinder::calc_seconds (vector <int> time1)//Line 37
{

//Method Body
}

为什么会出现这种情况?我在网上查看了其他示例,我的代码似乎与其他人的代码相匹配......

编辑:确切的错误消息是

timefinder.cpp:14: 错误:“TimeFinder”尚未声明

timefinder.cpp:37: 错误:“TimeFinder”尚未声明

Edit2:很抱歉我还不太擅长,但我要感谢大家的建议。希望我的代码质量会因为它们而开始提高。

最佳答案

不要这样做:

#include "timefinder.cpp"

您正在将定义拉入 header ,以便它们出现在声明之前。

您的代码还有很多其他问题 - 首先使用静态成员,在应该引用时按值传递 vector 和字符串,并将 using 指令放在头文件中,但删除 #include应该解决眼前的问题。

关于c++ - 静态函数的问题,g++ 说该类尚未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6153904/

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