Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Dal richiamo di Enrico Letta alla necessità di completare il mercato unico entro il 2028 alla visione di Nokia sul ruolo dell’IA e delle reti intelligenti, il Nokia Innovation Day 2025 ha intrecciato geopolitica e tecnologia, mostrando a Vimercate come la ricerca italiana contribuisca alle sfide globali delle telecomunicazioni
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-12-2005, 09:18   #1
Oberon80
Senior Member
 
L'Avatar di Oberon80
 
Iscritto dal: Jun 2003
Città: Napoli
Messaggi: 377
static in C++

Salve,

il mio problema è il seguente:

Devo dichiarare una variabile static in una classe che estende una classe virtuale ed ovviamente devo associare un metodo (anch'esso static) per modificare la suddetta classe.

nella classe virtuale dichiaro:

virtual void set_optimization_level(int l)=0;

nella sottoclasse dichiaro:

void set_optimization_level(int l); // con la stessa visibilità

static void set_opt_level( int l );
e
static int optimization_level;

ecco le implementazioni:

Codice:
void NomeSottoclasse::set_optimization_level(int l){
	set_opt_level(l);
}

void NomeSottoclasse::set_opt_level(int l){
	optimization_level=l;
}
il risultato della compilazione è il seguente errore:
myfile.o(.text+0x275): In function `NomeSottoclasse::set_opt_level(int)':
myfile.cc: undefined reference to `NomeSottoclasse::optimization_level'
collect2: ld returned 1 exit status
make: *** [MyProject] Error 1

Da cosa può dipendere???

Ho letto il manuale di C++ e mi sembra sia corretto.
__________________
"Camminare, costruire e, se necessario, combattere e vincere."
"Anche se tutti, noi no!!!"
W L'ITALIA!!!!!!!!!!!!!
Oberon80 è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 09:33   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Credo sia necessaria una implementazione, oltre la dichiarazione. Ad es. esternamente alla dichiarazione della classe, scrivi:
int NomeSottoClasse::optimization_level;
(puoi anche dare una inizializzazione di default se vuoi)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 09:48   #3
Oberon80
Senior Member
 
L'Avatar di Oberon80
 
Iscritto dal: Jun 2003
Città: Napoli
Messaggi: 377
Quote:
Originariamente inviato da ilsensine
Credo sia necessaria una implementazione, oltre la dichiarazione. Ad es. esternamente alla dichiarazione della classe, scrivi:
int NomeSottoClasse::optimization_level;
(puoi anche dare una inizializzazione di default se vuoi)
OK,

subito dopo la definizione della mia sottoclasse ho aggiunto:

int NomeSottoclasse::optimization_level;

il problema ora è che per ogni file che include l'header dove è definita la mia sottoclasse il compilatore mi da:

NomeFileCheInclude.o(.bss+0x0): multiple definition of `NomeSottoclasse::optimization_level'
/tmp/cc9Rwzno.o(.bss+0x0): first defined here

Dove sbaglio?
__________________
"Camminare, costruire e, se necessario, combattere e vincere."
"Anche se tutti, noi no!!!"
W L'ITALIA!!!!!!!!!!!!!
Oberon80 è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 09:59   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Metti l'implementazione in un unico file .cc.
In alternativa, puoi implementare la variabile nell'header così:
Codice:
int __attribute__((__section__(".gnu.linkonce"))) NomeSottoClasse::optimization_level = 0;
ma non è una soluzione portabile, quindi non te la consiglio.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 10:29   #5
Oberon80
Senior Member
 
L'Avatar di Oberon80
 
Iscritto dal: Jun 2003
Città: Napoli
Messaggi: 377
Credo di aver risolto.

Gentilissimo
__________________
"Camminare, costruire e, se necessario, combattere e vincere."
"Anche se tutti, noi no!!!"
W L'ITALIA!!!!!!!!!!!!!
Oberon80 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Ancora controlli sulle e-bike, a Civitan...
Annunciato accidentalmente il nuovo gioc...
Spese militari da record: il conto nasco...
Intel e NVIDIA uniscono le forze: cos&ig...
Silent Hill f raccoglie ottimi voti su F...
L'industria farmaceutica americana si af...
Xiaomi YU7 GT avvistato al Nurburgring: ...
Intelligenza artificiale, agenti e strum...
Blocco note porta l'AI gratis sui PC, e ...
Arkheron, il nuovo gioco dell'ex lead de...
HONOR conferma Magic8: avrà AI na...
Auto volanti, il sogno si infrange: il p...
Cantieri in autostrada? Dal 2026 lo Stat...
Tesla non è molto trasparente su ...
Microsoft e NVIDIA guidano maxi-investim...
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: 13:44.


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