Я только что перешел с Python на C ++. Это практика, которую я сделал для struct
. Всегда есть ошибка «неполный тип не разрешен», если я не использую напрямую структуру в исходном файле.
Я просмотрел много ответов при переполнении стека и попытался добавить typedef
в заголовок или удалить структуру на std::vector<double> timesteps(struct temporal_info time)
, но ни один из них не работает.
Вот мой dmdbase.h
#ifndef dmdbase
#define dmdbase
#include <iostream>
#include <vector>
class DMDBase
{
public:
struct temporal_info
{
double t0;
int trend;
double dt;
};
std::vector<double> timesteps(struct temporal_info time);
};
#endif
Вот мой dmdbase. cpp
using namespace std;
std::vector<double> timesteps(struct temporal_info time)
{
std::vector<double> time_map;
double final = time.trend + time.dt;
for (double t = time.t0; t < final; t += time.dt)
{
time_map.push_back(t);
}
return time_map;
}