Функции, принимающие аргументы класса за значением, не расширяются - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть этот класс в c ++:

class person {
    string name;
    string email;

    public : string get_name() {return name;}
    public :  string get_email() {return email;}

    public : void  set_name(string name) {this->name=name;}
    public :  void set_email(string email) {this->email=email;}

    public :  person(string name,string email) {
        this->name=name;
        this->email=email;
    }
}

Но я получаю эту ошибку:

Функции, принимающие аргументы класса за значением, не расширяются в строке,

в этих 2 строках:

public : void  set_name(string name){this->name=name;}
public : void set_email(string email){this->email=email;}

Что я могу сделать?

1 Ответ

0 голосов
/ 06 апреля 2019

вы должны отправить параметры в виде адреса в соответствии с embarcadero

   struct foo {
   foo();
   ~foo();
   };


  inline void f2(foo& x)
    {
       // no warning, f2() can be expanded inline
    }
    inline void f3(foo x)
    {
       // Warning: Functions taking class-by-value argument(s) are
       //          not expanded inline in function f3(foo)
    }
...