|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2005
Città: Agrigento
Messaggi: 475
|
[C++] array.length().. non me lo so spiegare
Salve a tutti,
sto seguendo un interessantissimo corso di c++ nella mia università e in questi giorni si è affrontato il discorso array. Durante un'esercitazione ho provato ad usare un comando del tipo: int a[10]; cout << a.length(); tratto dalle mie conoscienze java. Il comando non ha dato nessun errore anzi mi ha stampato perfettamente la dimensione dell'array. In aula ho chiesto al prof se questo fosse possibile e lui (molto preparato) mi ha spiegato che l'array in c++ non è trattato come oggetto e di conseguenza non è possibile eseguire funzioni del tipo array.funzione(); Detto questo ho voluto subito fare una ricerca online e ho scoperto che effettivamente nessuno parla di questo mio utilizzo. Vorrei capire il perchè del funzionamento sul mio ambiente di sviluppo (uso devc++) visto che dovrebbe essere concettualmente sbagliato ciò che ho fatto. Grazie
__________________
Sono andato da una maga e le ho chiesto: "Il Mio Futuro?". Lei ha guardato la mia mano e mi ha risposto: "Circuiti Integrati???" |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Veramente bizzarro... A me, su g++ 4.4 (e il devc++ usa un porting del g++, anche se probabilmente un bel po' più vecchio) mi da questo errore di compilazione:
a.cpp: In function ‘int main()’: a.cpp:8: error: request for member ‘length’ in ‘a’, which is of non-class type ‘int [10]’ come effettivamente è giusto che sia. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2005
Città: Agrigento
Messaggi: 475
|
EDIT:
AAAAAAAAAAAAAAA ho trovato l'errore!!! Non era magia del compilatore, era scemenza mia ![]() Avevo fatto un po di confusione perchè mentre il prof parla di stringa come array di carattere char[] (ancora non ha spiegato string) io le utilizzo ugualmente. Dunque quando lui deve contare i numeri di carattere della parola usava dei comandi differenti per vedere al dimensione dell'array. Invece io, avendo la stringa facevo stringa.length().. e funzionava, però ero convinto di farlo ad un array. In definitiva quel che facevo io (semplificato è): #include<iostream> using namespace std; int main(){ string c; c.length(); } e tutto funzionava ![]() Grazie comunque per l'aiuto e scusate se vi ho illuso xD
__________________
Sono andato da una maga e le ho chiesto: "Il Mio Futuro?". Lei ha guardato la mia mano e mi ha risposto: "Circuiti Integrati???" Ultima modifica di Appassionato Pazzo : 06-11-2009 alle 11:33. |
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Quote:
Per quanto riguarda le differenze tra Windows e Wine non so che dirti, aspettiamo e vediamo se arriva qualcuno di più informato.. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2005
Città: Agrigento
Messaggi: 475
|
Quote:
![]()
__________________
Sono andato da una maga e le ho chiesto: "Il Mio Futuro?". Lei ha guardato la mia mano e mi ha risposto: "Circuiti Integrati???" |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2005
Città: Agrigento
Messaggi: 475
|
eheh.. sisi
![]() ![]()
__________________
Sono andato da una maga e le ho chiesto: "Il Mio Futuro?". Lei ha guardato la mia mano e mi ha risposto: "Circuiti Integrati???" |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:54.