Go Down

Topic: [Risolto] direttiva di template<> per avr-c (Read 383 times) previous topic - next topic

seppe

Jun 20, 2011, 11:38 am Last Edit: Jun 21, 2011, 02:01 pm by seppe Reason: 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:
Code: [Select]

template <typename T> bool funzione(T variabile)
{
   ....
}


e ri cevo dal compilatore il seguente errore:

Code: [Select]

error: expected "=", ",", ";" , "asm" or "__attribute__" before "<" token


Da cosa può dipendere?? Sto impazzendo!
Delle include da aggiungere??

Grazie in anticipo

seppe

Marco Benini

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

Code: [Select]
#include <WProgram.h>
...
dichiarazione dei template
...


poi nello sketch

#include mieitemplate.h

Ciao,
Marco.

seppe

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

Ragazzi ho risolto...

Code::Blocks cercava di compilare con avr-gcc, mentre bisognava che compilasse con avr-g++

Grazie a tutti!

seppe

Go Up