я следующая структура объявлена в главных (NEVERMIND членов!):Структура В качестве параметра конструктора (Заявлено в основном)
struct args
{
std::vector<string> names;
std::vector<std::shared_ptr<RegularExpression>>vreg;
std::vector<string> stopFile;
std::vector<string> groundTruth;
int debug;
};
и у меня есть Classe проверка, которая принимает арг как параметр конструктора
#ifndef VERIFICATION_H
#define VERIFICATION_H
class Verification
{
public:
Verification(std::string, std::vector<double>,double,args);
private:
args _A;
}
#endif // VERIFICATION_H
Сейчас в основной:
struct args
{
std::vector<string> names;
std::vector<std::shared_ptr<RegularExpression>>vreg;
std::vector<string> stopFile;
std::vector<string> groundTruth;
int debug;
};
int main()
{
Verification v("res.cr",gt, 0.75,A);
return 0;
}
У меня есть следующие ошибки компиляции:
- Verification.h | 33 | ошибка: 'арг' не называет тип | (эта ошибка для частного члена в классе _A)
- main.cpp | 153 | ошибка: нет соответствующей функции для вызова «Проверка»: проверка (const char [7], std :: vector &, double, args &) '|
- Verification.h | 24 | error: 'args' не был объявлен | (эта ошибка конструктор)
Как можно использовать структуру, объявленную в главном в качестве параметра конструктора в классе проверке?
спасибо.
Вне темы, но вы не должны использовать [зарезервированные имена] (http://stackoverflow.com/questions/228783), например '_A'. –
О да? И глупо мне, я думал, что делаю все правильно. У меня был inverview с французской компанией, и в их коде они сделали то же самое, что и я. Я даже спросил их. Почему у вас нет конструктора и конструктора копий, это правило большого пальца в C++. Она ответила: NAAAAAAAAAAAAAA нам это не нужно. KILL ME –