Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    l-value,r-value...

    Salve gente!
    Mi sono imbattuto in un problemino del genere:

    char *args[]={"primo","secondo","terzo"};

    a questo punto se faccio:

    args++; (teoricamente dovrebbe restituire l'indirizzo del secondo puntatore ovvero &args[1])

    Dev-C++ mi da questo errore: "ISO C++ forbids cast to non-reference type used as lvalue"

    Qualcuno sa darmi una spiegazione? anche perchè io da qualche parte questa cosa qui l'ho vista usare (per esempio qui: http://minnie.tuhs.org/UnixTree/V7/u.../cmd/ls.c.html) e già che c'è saprebbe darmi una PRECISA definizione di l-value e r-value? Grazie!

    <---[EDIT]--->

    Come non detto ho capito da solo:

    int main(int argc,char *args[]){

    args++;
    ...
    }

    cosi funziona,in quanto args è un puntatore e non un array!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: l-value,r-value...

    Originariamente inviato da unbreakable9
    in quanto args è un puntatore e non un array!
    Esatto. Un array definito in C/C++ con [] ha un indirizzo fisso che non può cambiare durante l'esecuzione del programma.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.