C++ API では、ポート番号を表すために ePortS, ePortM を定義しています。
C API にも、ポート番号を表すために motor_port_t, sensor_port_t があります。
そして、make app=hoge (β6-2) でビルドすると、この2つの列挙体の間で暗黙的な型変換ができません。
../workspace/example/src/robot.cpp:90:72: error: cannot convert 'const ePortM' to 'motor_port_t' for argument '1' to 'ER ev3_motor_rotate(motor_port_t, int, uint32_t, bool_t)'
ev3_motor_rotate(PORT_TAIL_MOTOR, -TAIL_DEGREES, 100, false);
^
ePortS, ePortM と motor_port_t, sensor_port_t は、仕様上、相互に型変換を行っても安全でしょうか? (C++ には ev3_motor_rotate に相当する API が無いので...)
また、ePortS, ePortM はなぜ定義されているのでしょうか?
C++ API では、ポート番号を表すために
ePortS,ePortMを定義しています。C API にも、ポート番号を表すために
motor_port_t,sensor_port_tがあります。そして、
make app=hoge(β6-2) でビルドすると、この2つの列挙体の間で暗黙的な型変換ができません。ePortS,ePortMとmotor_port_t,sensor_port_tは、仕様上、相互に型変換を行っても安全でしょうか? (C++ にはev3_motor_rotateに相当する API が無いので...)また、
ePortS,ePortMはなぜ定義されているのでしょうか?