解释C ++中的错误

如果我不知道该怎么办,会出现以下错误?

**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构造函数或任何其他方法,对吗?文档中没有提到类似内容,我确实需要帮助来完成此操作,而且我不知道问题出在哪里...

提前致谢!!!