Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini è uno smartwatch compatto capace di offrire un'esperienza completa di monitoraggio della salute e fitness con una cassa da 43 mm che può adattarsi a qualsiasi tipo di polso, dal più grande al - soprattutto - più piccolo. Con l'architettura dual-chip e un'autonomia che può coprire due giorni con tranquillità, rappresenta la soluzione ideale per chi cerca prestazioni premium in un formato ridotto.
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Dopo il recente lancio della serie Xiaomi 15T di Monaco, vi parliamo oggi della versione più performante della nuova famiglia, ovvero Xiaomi 15 T Pro. Vi raccontiamo la nostra prova nel dettaglio, spiegando perché a questo prezzo e in questa fascia, questo smartphone ha davvero senso tenerlo in seria considerazione.
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer ha ampliato la sua offerta professionale con il TravelMate P6 14 AI, un notebook ultraleggero e robusto pensato per chi lavora in mobilità. Certificato Copilot+ PC, combina design premium, autonomia elevata e piattaforma Intel Core Ultra Serie 2 con funzionalità AI, garantendo sicurezza, affidabilità e produttività per l'utenza business moderna.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2011, 01:12   #1
masteryuri
Senior Member
 
L'Avatar di masteryuri
 
Iscritto dal: Feb 2006
Città: Caserta
Messaggi: 1056
[C++] Funzione amica e template

Ho questa classe, e vorrei ridefinire l'operatore <<.
Solitamente dichiaro friend la funzione, la pongo al di sopra delle sezioni public e private, e la definisco fuori dalla classe.

Il compilatore mi da un errore che mi sta facendo impazzire.

Codice:
#include <string>
#include <iostream>

template <class T>
class Raccolta
{	

	friend std::ostream& operator << (std::ostream&, T&);

	public:
		
		Raccolta(const int);
		~Raccolta();
		
		void Inserimento(const T &);			//inserisce un elemento nella raccolta
		bool Duplicata(const T &);			//vera se l'elemento è già presente
		int Mancanti() {return (N-riempimento);}	//fornisce il numero di elementi mancanti
		void Chiusa();					//pone true in "terminata" se la raccolta è terminata
		
	private:

		std::string NomeRaccolta; 		//nome della raccolta
		T * R;					//vettore di elementi
		int N; 					//numero massimo degli elementi
		bool terminata; 			//vero se la raccolta è terminata
		int riempimento; 			//elementi correntemente presenti
};
Codice:
Raccolta.h:8: warning: friend declaration ‘std::ostream& operator<<(std::ostream&, T&)’ declares a non-template function
Raccolta.h:8: warning: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning
masteryuri è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2011, 09:34   #2
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Se come credo quella funzione deve stampare la tua raccolta, allora devi modificare T& con Raccolta&.
Codice:
friend std::ostream& operator<<(std::ostream&, const Raccolta&);
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2011, 09:55   #3
masteryuri
Senior Member
 
L'Avatar di masteryuri
 
Iscritto dal: Feb 2006
Città: Caserta
Messaggi: 1056
Si in effetti, ma sussiste lo stesso errore...
masteryuri è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2011, 11:14   #4
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Errore mio :P
Codice:
template<class U>
friend std::ostream& operator<<(std::ostream&, const Raccolta<U>&);
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2011, 12:51   #5
masteryuri
Senior Member
 
L'Avatar di masteryuri
 
Iscritto dal: Feb 2006
Città: Caserta
Messaggi: 1056
cioé la dichiaro template utilizzando un altro tipo U, poi come faccio a far capire al compilatore che T e U alla fine sono lo stesso tipo?
masteryuri è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2011, 13:33   #6
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Dai un occhio qui:
http://publib.boulder.ibm.com/infoce..._templates.htm
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione Xiaomi 15T Pro, è lui il nuovo best buy? ...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Scarpe che vi faranno correre alla veloc...
MOVA Z60 Ultra Roller Complete: 200€ di ...
Xiaomi SU7 si sposta da sola? Non esatta...
Cheater bannati entro 30 minuti senza ne...
Record di auto elettriche a settembre an...
In Norvegia due nuovi record: auto elett...
Linux sempre più orfano di Intel:...
Tesla conferma il bonus su Model 3: con ...
Anche Huawei prepara il suo smartphone u...
Sondaggio Steam: AMD guadagna ancora ter...
Zeekr si espande in Europa: 001, X e 7X ...
Fino a 17 sterline a telefono: il risarc...
Nintendo Switch 2 sfrutta una variante p...
AMD e OpenAI stringono un accordo strate...
Nest Cam 2K 3a gen: la videocamera da in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v