PDA

View Full Version : [C++] Porting Linux-Windows Template (Solo per numeri 1)


monelli
19-03-2009, 18:57
Ciao a tutti... Devo portare un programma da linux a windows...

il problema sono queste due righe... non capisco che cosa fanno e visual studio non le compila...

template <class R, class A, class B> inline R& min(const A& a, const B& b) {return a<b?a:b;}
template <class R, class A, class B> inline R& max(const A& a, const B& b) {return a>b?a:b;}

Dovrebbere avere a che fare con la gestione delle eccezioni ma non ne sono sicuro...

Chi mi spiega gentilmente cosa fanno e perchè non riesco a compilarle???

Grazie a tutti...

ndakota
19-03-2009, 21:25
è la dichiarazione di due metodi che trovano il massimo e minimo ma con tipi generici. in particolare il primo passando due variabili di tipi A e B ritorna il minore di tipo R la seconda uguale ma il maggiore.

fero86
19-03-2009, 22:45
"Solo per numeri 1"? ma per favore... :asd:

comunque se vuoi avere qualche speranza di essere aiutato dovresti quantomeno indicare il compilatore e l'errore che esso ti da a quelle due linee.

monelli
20-03-2009, 08:37
Solo per numeri 1

era una battuta... Che permaloso... (Scherzo):D :D :)

Cmq ho risolto... Il compilatore l'ho scritto è visual studio...

Grazie a ndakota per la spiegazione...

Il fatto è che includendo #include <windows.h> min e max sono già definite, quindi prima dell'inclusione basta inserire #define NOMINMAX.

Ciao

banryu79
20-03-2009, 09:21
"Solo per numeri 1"? ma per favore... :asd:

Non capisci che è stata una furbata scriverlo? :asd:
L'autore del post ha gettato un' esca utile ad assicurare un maggiorn numero di visite al suo thread ;)

P.S.: sono OT e non è un processo alle intenzioni dell'autore del post :)

ndakota
20-03-2009, 11:30
se ho risposto io, altro che numeri 1, poteva rispondere chiunque :D

ndakota
20-03-2009, 12:51
Solo per numeri 1

era una battuta... Che permaloso... (Scherzo):D :D :)

Cmq ho risolto... Il compilatore l'ho scritto è visual studio...

Grazie a ndakota per la spiegazione...

Il fatto è che includendo #include <windows.h> min e max sono già definite, quindi prima dell'inclusione basta inserire #define NOMINMAX.

Ciao

in questo caso avresti potuto metterle dentro un namespace e richiamarle appropriatamente.. correggetemi se dico una vaccata :D