我放弃了。也不是谷歌回答我或文档。这里有什么不对?
“在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_ */
答案 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) {}