How to add object of class to vector in another class.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class info{
    private: 
        int id;
        string name;
    public:
        info(int extId, string extName) {
            this->id = extId;
            this->name = extName;
        }
};
class db {
    private:
        vector<info> infoVector;
    public:
        void pushData(info * data) {
            this->infoVector.push_back(&data);
        }
};
int main(){ 
    info * testData = new info(123, "nice"); 
    db database;
    database.pushData(testData);    
    return 0;
}
I am creating a object of info class. The object contains one int and one string variables. Then I am creating db object and I am passing there a testData object. 
I got error message while building project.
main.cpp: In member function ‘void db::pushData(info*)’:
main.cpp:23:44: error: no matching function for call to ‘std::vector<info>::push_back(info*&)’
             this->infoVector.push_back(data);
                                            ^
In file included from /usr/include/c++/5/vector:64:0,
                 from main.cpp:2:
/usr/include/c++/5/bits/stl_vector.h:913:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = info; _Alloc = std::allocator<info>; std::vector<_Tp, _Alloc>::value_type = info]
       push_back(const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_vector.h:913:7: note:   no known conversion for argument 1 from ‘info*’ to ‘const value_type& {aka const info&}’
What am I doing wrong?
 
     
    