2016-04-12 24 views
0

私はthisを使用して、LSM6DS3 motion sensorからのデータを解釈するために6軸補完フィルタライブラリを使用しようとしています。ArduinoでC++ライブラリを初期化

私のArduinoスケッチ内で呼び出すと、このエラーが発生します。ばかな質問のため申し訳ありませんが、私はこれを学んで出始めている:への呼び出しのための

一致する関数がない:私はCompSixAxisクラスのインスタンスを初期化しようとすると、

#include "SparkFunLSM6DS3.h" 
#include "Wire.h" 
#include "SPI.h" 
#include "six_axis_comp_filter.h" 


LSM6DS3 myIMU; // Constructor for the motion sensor (this works) 
CompSixAxis test; // this breaks 

を、それは私に、このエラーが発生します'CompSixAxis :: CompSixAxis()'

+1

次のようになり、フォーム

CompSixAxis(float deltaTime, float tau); 

でコンストラクタを使用する必要があります、そのクラスにはデフォルトコンストラクタ(すなわちを持っていないように思える。ゼロを取って1議論)。その場合、正しいコンストラクタを呼び出す必要があります。 – user463035818

+0

@ tobi303:デフォルトのc'torは引数を渡さずに呼び出すことができるc'torです。それは全く引数を取らないc'torと同じではありません。それにかかわらず、 'CompSixAxis'はデフォルトのctorを持っていません。 – IInspectable

+0

@ IInspectable通常私はニックピッキングを行う人です;)しかし、私はいつも訂正してうれしいです。 _error::私は「defaulコンストラクタ」私は言ってエラーが出るの代わりに新しいコードを配置する場合残念ながら後半にコメント – user463035818

答えて

2

クラスCompSixAxisにはデフォルトのコンストラクタがありません。つまり、あなたはそれを使用することはできません。

デフォルトコンストラクタが必要です。オブジェクトを構築するためには、だからあなたの更新されたコードが

CompSixAxis test(some_value, some_other_value); 
+0

を編集する資格のない-ID「フロート」 CompSixAxis(deltaTime、フロートタウをフロート)の前に期待を。 _ 時間をとっていただきありがとうございます、ネイサン! –

+1

@VladyVeselinov私はあなたがそれをどのように呼び出すかを示す答えを更新しました。 – NathanOliver

関連する問題