C26444 Избегайте неназванных объектов с нестандартной конструкцией и разрушением (es.84) - PullRequest
0 голосов
/ 07 января 2020

Может кто-нибудь помочь мне решить проблему ?? Раньше, когда у меня был только один метод для класса, который был void show (vector & list, string & filter) , функции get и display были в нем, тогда я решил разделить эти функции на vector get () & void display () , но когда я возвращаю новый измененный вектор из vector get () , появляется ошибка:

C26444 Избегайте неназванных объектов с пользовательским построением и разрушением (es.84) ,

Вот краткий пример кода для реализации:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

class Test
{
//variables
};

class Base
{
public:
    virtual vector<Test>get(vector<Test>& list, string& filter) = 0;
    virtual void display() = 0;
};
class A : public Base
{
    string a;
    string b;
    vector<Test> aList;

public:
    vector<Test>get(vector<Test>& list, string& filter)
    {
        //modifying info and placing to vector<Test> aList
        return aList;
    }
    void display()
    {
        //show aList
    }
};

int main()
{
    vector<Test> list;
    //define list
    string filter;
    //define filter

    Base* object = new A();
    object->get(list, filter);
    object->display();
    return 0;
}
...