mrs*_*mmr 1 c++ static-methods g++
我正在尝试编译此代码,并且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
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我在网上查看了其他示例,我的代码似乎与其他人的代码相匹配......
编辑:确切的错误消息是
timefinder.cpp:14:错误:'TimeFinder'尚未声明
timefinder.cpp:37:错误:'TimeFinder'尚未声明
编辑2:对不起,我对此并不擅长,但我要感谢大家的建议.希望我的代码质量会因为它们而开始提高.
小智 7
不要这样做:
#include "timefinder.cpp"
Run Code Online (Sandbox Code Playgroud)
您将定义放入标题中,以便它们出现在声明之前.
您的代码还有很多其他问题 - 首先使用静态成员,在引用时按值传递向量和字符串,并在头文件中放置指令,但删除#include应修复眼前的问题.
归档时间: |
|
查看次数: |
1195 次 |
最近记录: |