Хочу сделать класс в котором одно из свойств является другим классом.
#include "Arduino.h"
#include "Ultrasonic.h"
class Class1
{
public:
Class1();
void AsseptSonar(int pinTriger, int pinEcho);
long GetSonarDistans();
private:
int _pinSonarTriger;
int _pinSonarEcho;
Ultrasonic sonar;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
В этом месте ругается
:
Class1.cpp:5: error: no matching function for call to 'Ultrasonic::Ultrasonic()'
/Ultrasonic.h:21: note: candidates are: Ultrasonic::Ultrasonic(int, int)
/Ultrasonic.h:19: note: Ultrasonic::Ultrasonic(const Ultrasonic&)
Как правильно определять типы свойств классов которые являются другими классами?
};
#endif

жесть. хорошо, допустим вы где-то отрыли тупейше-припримитивнейший компилятор, он вам откомпилил этот недокод и при исполнении доходит до создания объёкта, опа, а конструктора та нет.
не важно, прописали ли вы явно в классе конструктор или нет, паблик он, статик или ещё какой, но он ВСЕГДА ЕСТЬ. в шарпе любой класс по иерахрхии всегда восходит к обджекту, у которого опять таки есть конструктор. не верите, так почитайте самоучители, мсдн, пройдитесь дебаггером или натравите дизассемблер (как увидите ".ctor", так знайте, что это и есть конструктор). проехали с шарпом, это совсем другой язык.