質問: {0x30}; //問題となっている関数呼び出し部分1 devices[0].inform.reqInformOperationStatus(vec_edt).send(); //問題となっている関数呼び出し部分2 devices[0].setOperationStatus(vec_edt); } ``` ### 試したこと ・devices.setOperationStatusなど、接頭語を変えてみる ・関数の引数部分で、nullptrを入れてみる 問題部分1、2ともに関数がメンバーにないといわれます。 DeviceObject::setOperationStatus(vec_edt); とすると、cannot cal member fuction '~~' without objectとされ、実体がないことを指摘されています。 ### 補足情報(言語/FW/ツール等のバージョンなど) 上記OpenEcho-CppをRaspberryPiにて実装し、makeを行っています。 情報の不足などございましたら追記しますので、よろしくお願いします。
回答: こんにちは。 下記で行けると思います。 > > devices[0]->inform.reqInformOperationStatus(vec_edt).send(); > > devices[0]->setOperationStatus(vec_edt); > > > `devices[0]`は`std::shared_ptr`型ですので、DeviceObjectへのポインタを管理しています。したがって、`.`演算子ではなく`->`演算子でアクセスします。