在数字常量之前预期','或'...'

时间:2013-03-27 05:48:31

标签: c++ arduino

我放弃了。也不是谷歌回答我或文档。这里有什么不对?

  

“在x.cpp:7中包含的文件中:   /Users/user/Dropbox/Projects/Arduino/libraries/Range/Range.h:27:   错误:数字常量之前的预期标识符   /Users/user/Dropbox/Projects/Arduino/libraries/Range/Range.h:27:   错误:在数字常量“

之前预期','或'...'
//
//  Range.h
//  Handles range to ground and altitude
//
//  Created by x on 2013-03-27.
//
//

#ifndef RANGE_H_
#define RANGE_H_

#include "NewPing.h"

#define BOTTOM_RF_PIN       5
#define BOTTOM_RF_ECHO_PIN  10
#define BOTTOM_RF_MAX       200


class Range {
public:
    Range();
    void init();
    float toGround();
    float toCeiling();
    float altitude();
private:
    NewPing bottomRF(BOTTOM_RF_PIN, BOTTOM_RF_ECHO_PIN, BOTTOM_RF_MAX);

};

#endif /* RANGE_H_ */

3 个答案:

答案 0 :(得分:7)

而不是

NewPing bottomRF(BOTTOM_RF_PIN, BOTTOM_RF_ECHO_PIN, BOTTOM_RF_MAX);

尝试

NewPing bottomRF(int, int, int);

原因:您无法声明一个函数来接受文字。只有类型。 int是一种类型,5 10和200是文字。

答案 1 :(得分:2)

您是否需要指定参数类型? e.g。

NewPing bottomRF(int a1 = BOTTOM_RF_PIN, int a2= BOTTOM_RF_ECHO_PIN, int a3 = BOTTOM_RF_MAX);

答案 2 :(得分:1)

如果bottomRF是数据成员而不是函数,并且您尝试在类声明中实例化它:

您无法在类声明中实例化类类型的项。这样做的好地方是构造函数初始化列表。

public:
    Range() :bottomRF(BOTTOM_RF_PIN, BOTTOM_RF_ECHO_PIN, BOTTOM_RF_MAX) {}