如果我不知道该怎么办,会出现以下错误?
**c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ext\new_allocator.h: In instantiation of 'void
__gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = Application; _Args = {const
Application&}; _Tp = Application]':
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\alloc_traits.h:455:4: required from 'static void
std::allocator_traits<std::allocator<_CharT>
>::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...)
[with _Up = Application; _Args = {const Application&}; _Tp = Application;
std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<Application>]'
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\stl_vector.h:918:30: required from 'void
std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Application; _Alloc =
std::allocator<Application>; std::vector<_Tp, _Alloc>::value_type = Application]'
AppSystem.cpp:33:63: required from here**
这是Application.h文件:
#ifndef APPLICATION_H
#define APPLICATION_H
#include "ApplicationConstructor.h"
#include "UserOpinion.h"
#include <vector>
using namespace std;
class Application{
public:
void AddToUserOpinionVector(UserOpinion *); //Add User Comment to UserOpinionVector
void AddToAppConstructorVector(ApplicationConstructor &); //Add Application Constructor to AppConstructorVector
void RemoveFromUserOpinionVector(UserOpinion *); //Remove User Comment from UserOpinionVector
void RemoveFromAppConstructorVector(ApplicationConstructor &); //Remove Constructor from AppConstructorVector
void ClearUserOpinionVector(); //Clear the UserOpinionVector
void ClearAppConstructorVector(); //Clear the AppConstructorVector
bool operator== (Application &); //Overload the == operator, this case overloads and the case of != operator
//Application(char *, string, string, ApplicationConstructor &, UserOpinion *, float); // Application's Constructor
Application(char *, string, string, ApplicationConstructor &, float); // Application's Constructor
Application(const Application &); // Copy Constructor
char *getApplicationCode(); // Get the Application Code
string getApplicationName(); // Get the Application Name
float getPrice(); // Get the Application's Price
string getApplicationVersion(); // Get the Application's Version
vector<ApplicationConstructor> getAppConstructorVector(); // Get the Application Constructor Vector
vector<UserOpinion> *getUserOpinionVector(); // Get the User Opinion Vector
void setApplicationCode(char *); // Set the Application's Code
void setApplicationName(string); // Set the Application's Name
void setApplicationVersion(string); // Set the Application's Version
void setPrice(float); // Set the Application's Price
void setAppConstructorVector(vector<ApplicationConstructor> &); // Set the Application Constructor Vector
void setUserOpinionVector(vector<UserOpinion> *); // Set the User Opinion Vector
ApplicationConstructor getApplicationConstructor(); // Get the Application Constructor Object
UserOpinion *getUserView(); // Get the User Opinion Object
void setApplicationConstructor(ApplicationConstructor &); // Set the Application's Constructor
void setUserView(UserOpinion *); // Set the User Opinion Object
virtual void ShowData() const = 0;
virtual ~Application(); // Destructor
protected:
char *ApplicationCode;
string ApplicationName;
string ApplicationVersion;
float Price;
ApplicationConstructor &AppConstructor;
UserOpinion *UserView;
vector<ApplicationConstructor> &AppConstructorVector; // Vector with Application Constructor Objects
vector<UserOpinion> *UserOpinionVector; // Vector pointers to User Opinion Objects
};
#endif /* APPLICATION_H */
这是文件AppSystem.h:
#ifndef APPSYSTEM_H
#define APPSYSTEM_H
#include "MyExceptions.h"
#include "DesktopApplication.h"
#include "GameApplication.h"
using namespace std;
class AppSystem{
private:
vector<Application> &ApplicationVector;
public:
AppSystem(); //AppSystem Constructor
AppSystem(const AppSystem &); //Copy constructor
void setApplicationVector(vector<Application> &); //Set the AppSystem's Application Vector
vector<Application> getApplicationVector(); //Get the AppSystem's Application Vector
void PushAppToApplicationVector(Application &) const; //Push Data to ApplicationVector
Application &PopAppFromApplicationVector(Application &) const; //Pop Data from ApplicationVector
vector<Application>::iterator FindAppToApplicationVector(Application &) const; //Find if Data belongs to ApplicationVector
void DeleteAppFromApplicationVector(Application &); //Delete Data from ApplicationVector
void ClearAllpicationVector(); //Clear all data from ApplicationVector
virtual ~AppSystem(); //Destructor
};
#endif /* APPSYSTEM_H */
有什么建议吗?我读到我必须实现向量的copy构造函数或任何其他方法,对吗?文档中没有提到类似内容,我确实需要帮助来完成此操作,而且我不知道问题出在哪里...
提前致谢!!!