prévu ',' ou '...' avant constante numérique
J'abandonne. Ni google ne me répond ou de la documentation. Quoi de mal ici?
" Dans le fichier inclus à partir de x.rpc:7:
/Users/utilisateur/Dropbox/Projets/Arduino/libraries/Gamme/Gamme.h:27:
erreur: identificateur avant constante numérique
/Users/utilisateur/Dropbox/Projets/Arduino/libraries/Gamme/Gamme.h:27:
erreur:', ' ou '...' avant constante numérique "
//
// 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_ */
Comment se fait-vous avez des constantes (5, 10, 200) au lieu d'argument de fonction déclarations dans
Je pense qu'il essaie de déclarer une variable de type NewPing. Vous devez les initialiser la variable dans la Gamme (de) : bottomRF( constantes ) { } à la place. C'est un bon endroit pour les compilateurs de noob-vérifier tous les littéraux ou manquant types des paramètres et de leur venir en aide avec un moins inutile de message d'erreur, mais qui se soucie de C++, la droite (pour offensé: c'est de l'ironie)?
bottomRF()
??? Qu'essayez-vous de réaliser?Je pense qu'il essaie de déclarer une variable de type NewPing. Vous devez les initialiser la variable dans la Gamme (de) : bottomRF( constantes ) { } à la place. C'est un bon endroit pour les compilateurs de noob-vérifier tous les littéraux ou manquant types des paramètres et de leur venir en aide avec un moins inutile de message d'erreur, mais qui se soucie de C++, la droite (pour offensé: c'est de l'ironie)?
OriginalL'auteur | 2013-03-27
Vous devez vous connecter pour publier un commentaire.
Au lieu de
NewPing bottomRF(BOTTOM_RF_PIN, BOTTOM_RF_ECHO_PIN, BOTTOM_RF_MAX);
Essayer
NewPing bottomRF(int, int, int);
Raison: Vous ne pouvez pas déclarer une fonction pour faire des littéraux. Seuls types.
int
est un type de, 5 à 10 et 200 sont des littéraux.Le problème est résolu. Merci camarade!
.rpc j'ai int la Gamme::toCeiling(){return bottomRF.ping_cm();} mais j'obtiens une erreur que, Dans la fonction de membre du flotteur Gamme::toCeiling()': n'a pas de type de classe. Savez-vous pourquoi?
Soit bottomRF est destiné à être une fonction, et que vous vouliez écrire
bottomRF().ping_cm()
- OU - bottomRF est destiné à être une variable, mais vous avez déclaré comme une fonction.Il est destiné à être une variable. Comment puis-je le déclarer comme une variable?
OriginalL'auteur Patashu
N'avez-vous pas besoin de spécifier le type de paramètres? par exemple,
OriginalL'auteur Archer
En cas
bottomRF
est un membre de données, et non pas une fonction, et que vous essayez de l'instancier dans la déclaration de classe:Vous ne peut pas instancier la classe-éléments de type dans la déclaration de classe. Un bon endroit pour le faire est dans la liste d'initialisation du constructeur.
OriginalL'auteur Tushar