seppe
June 20, 2011, 9:38am
#1
Salve a tutti,
ho letto alcuni sketch per arduino/atmega che facevano uso dei template per le funzioni…
Ho provato anche io ad usarli, ma con scarsi risultati…
ho una funzione del tipo:
template <typename T> bool funzione(T variabile)
{
....
}
e ri cevo dal compilatore il seguente errore:
error: expected "=", ",", ";" , "asm" or "__attribute__" before "<" token
Da cosa può dipendere?? Sto impazzendo!
Delle include da aggiungere??
Grazie in anticipo
seppe
system
June 20, 2011, 5:37pm
#2
Ciao,
l’errore probabilmente e’ dovuto al cambiamento della libreria delle espressioni regolari.
vedi “issue 472”:
http://code.google.com/p/arduino/issues/detail?id=472
e questo post:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1293801796
Mi era successo qualcosa di simile tempo fa, aggiornando l’IDE.
Ho spostato le dichiarazioni in un file header, che poi ho incluso all’inizio dello sketch.
nel file mieitemplate.h ho anche inserito
#include <WProgram.h>
...
dichiarazione dei template
...
poi nello sketch
#include mieitemplate.h
Ciao,
Marco.
seppe
June 21, 2011, 10:59am
#3
Grazie per la risposta!
Il problema è che non ha funzionato...
Potrebbe dipendere dal fatto che sto utilizzando l'ide Code::Blocks e non l'ide di Arduino ???
seppe
June 21, 2011, 12:00pm
#4
Ragazzi ho risolto…
Code::Blocks cercava di compilare con avr-gcc, mentre bisognava che compilasse con avr-g++
Grazie a tutti!
seppe