Не удалось создать конструктор по умолчанию, пока я не объявил, что недавно [дублировать]

Settings.Secure#ANDROID_ID возвращает идентификатор Android в качестве , уникального для каждого пользователя 64-битной шестнадцатеричной строки.

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 

1
задан Alex R. 4 April 2014 в 03:56
поделиться

2 ответа

Вам нужен список инициализаторов в вашем конструкторе, потому что члены destination и current с типом wayPoint не имеют конструктора по умолчанию.

class deviceC {
public: 
    deviceC(wayPoint destination1) : destination(destination1) {
        devA=deviceA();
        devB=deviceB();
    }
};

И IMO, вы не нужно инициализировать devA и devB внутри конструктора только с помощью конструктора по умолчанию, они просто вызывают operator= после вызова его конструктора по умолчанию. Вот мое предложение:

class deviceC {
private:
    deviceA devA;
    deviceB devB;
    wayPoint destination, current;
public: 
    deviceC(const wayPoint& destination1, const wayPoint& current1) : destination(destination1), current(current1) {}
};
3
ответ дан songyuanyao 3 September 2018 в 15:41
поделиться

Пропущен скобка.

class deviceC{

    private : deviceA devA;
                  deviceB devB;
                  wayPoint destination,current;

    public: deviceC(wayPoint destination1){
            destination=destination1;
            devA=deviceA();
            devB=deviceB();
    } // <-- here
};
1
ответ дан MrDuk 3 September 2018 в 15:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: