Как передать вектор класса Child в функцию, ожидающую вектор класса Parent?
Я могу передать Child в функцию-член, ожидающую Parent, однако при использовании векторов я получаю сообщение об ошибке компиляции:Нет соответствующего объявления. Посмотрите вызов CorrelationEngineManager.cpp для getUniqueLabels () внизу
ServerEvent.h
#ifndef SERVEREVENT_H
#define SERVEREVENT_H
#define SERVEREVENT_COLS 3
#include "Event.h"
#include
class ServerEvent: public Event {
private:
public:
ServerEvent(std::vector tokens);
void print();
};
#endif
Event.h
#ifndef EVENT_H
#define EVENT_H
#include
#define EVENT_STOP 0
#define EVENT_START 1
class Event {
private:
protected:
double time;
std::string label;
int type; // EVENT_START OR EVENT_STOP
public:
};
#endif
CorrelationEngineManager.h
class CorrelationEngineManager {
private:
std::vector s_events;
std::vector u_events;
std::vector s_timeRecords;
std::vector u_timeRecords;
// typeOfEvent gets type of event, 0 for error, look at #defines for codes
int typeOfEvent(std::vector);
int createTimeRecords();
std::vector getUniqueLabels(std::vector events);
public:
CorrelationEngineManager();
//~CorrelationEngineManager();
int addEvent(std::vector tokens); //add event given tokens
void print_events();
};
CorrelationEngineManager.cpp
int CorrelationEngineManager::createTimeRecords() {
std::vector u_sLabels; // unique server labels
std::vector u_uLabels; // unique UPS labels
u_sLabels = getUniqueLabels(s_events);
// u_uLabels = getUniqueLabels(u_events);
return 1;
}
// returns a vector of unique labels, input a vector of events
std::vector CorrelationEngineManager::getUniqueLabels(std::vector events) {
std::vector temp;
return temp;
}
ошибка компиляции
CorrelationEngineManager.cpp: In member function ‘int CorrelationEngineManager::createTimeRecords()’:
CorrelationEngineManager.cpp:60: error: no matching function for call
to ‘CorrelationEngineManager::getUniqueLabels(std::vector&)’ CorrelationEngineManager.h:23: note:
candidates are: std::vector
CorrelationEngineManager::getUniqueLabels(std::vector) make: *** [CorrelationEngineManager.o] Error 1