Dynamiczne tworzenie obiektu konstruktorem

0

Chcę stworzyć dynamiczny obiekt, a zmienne uzupełnić konstruktorem, ale pojawiają się błędy w kompilatorze.

.h

class User :public Menagement
{
    string login, password, email, year_of_birth, gender, level_of_access, status;

    User(string _login, string _password, string _email, string _year_of_birth, string _gender, string _level_of_access,
         string _status)
         :login(_login), password(_password), email(_email), year_of_birth(_year_of_birth), gender(_gender),
         level_of_access(_level_of_access), status(_status)
    {}
    ~User(){}

    friend class Menagement;
};

.cpp

User *login_user = new User(login[index], password[index], email[index], year_of_birth[index], gender[index],
                                  level_of_access[index], status[index]);

Log kompilacji:

||=== Build: Debug in Movie Database (compiler: GNU GCC Compiler) ===|
C:\Users\Użytkownik\Desktop\Movie Database\menagement_sign_in_create.cpp||In member function 'void Menagement::login_process(std::string, std::string)':|
C:\Users\Użytkownik\Desktop\Movie Database\menagement_sign_in_create.cpp|249|error: invalid conversion from 'char' to 'const char*' [-fpermissive]|
d:\programy\code-blocks\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\basic_string.tcc|214|error:   initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' [-fpermissive]|
C:\Users\Użytkownik\Desktop\Movie Database\menagement_sign_in_create.cpp|249|error: invalid conversion from 'char' to 'const char*' [-fpermissive]|
d:\programy\code-blocks\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\basic_string.tcc|214|error:   initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' [-fpermissive]|
C:\Users\Użytkownik\Desktop\Movie Database\menagement_sign_in_create.cpp|248|warning: unused variable 'login_user' [-Wunused-variable]|
||=== Build failed: 4 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|
1

Ojezu, gdybym zauważył taki ogromny konstruktor w kodzie, to nie ma pojedynczej szansy, że przeszedłby code review... Plus masz literówkę w Menagement.
Wracając jednak do problemu: czego w błędzie niby nie rozumiesz? Gdzieś Ci się pewnie typy nie zgadzają i np. login to nie jest tablica stringów, tylko pojedynczy ciąg znaków.

1

C:\Users\Użytkownik\Desktop\Movie Database\menagement_sign_in_create.cpp|249|error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

w

void Menagement::login_process(std::string, std::string)

1 użytkowników online, w tym zalogowanych: 0, gości: 1