Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Problema di Serializzazione
Forum Updated to NodeBB v4.3 + New Features

Problema di Serializzazione

Scheduled Pinned Locked Moved Unsolved Italian
3 Posts 3 Posters 941 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Thejuster
    wrote on last edited by
    #1

    Buongiorno, durante lo sviluppo di un programmino ad uso didattico, ho riscontrato uno strano problema trasportando il sorgente da windows a linux.

    Mentre su Windows funziona senza problemi, su linux appena apro un dialogo, mi crasha l'applicazione dicendomi SEGFAULT precisamente a questa determinata riga.

    alt text

    Ho provato a chiedere in giro mi è stato detto che il metodo chiama se stesso.

    "point out, your operator >> (or << ) call to itself and never finished"

    Non sono un esperto del cpp, ma non riesco a capire dove sia il problema.
    visto che semplicemente serializza una stringa.
    Sareste così gentili da mostrarmi dov'è che sbaglio e come posso risolvere?

    se necessitate di ulteriori informazioni qui trovate tutto il sorgente.

    https://github.com/Thejuster/Mappy

    1 Reply Last reply
    0
    • P Offline
      P Offline
      PeAlbe
      wrote on last edited by
      #2

      La differenza tra Windows e Linux non saprei spiegarla, però il metodo in figura è potenzialmente ricorsivo: chiamare

      in >> tt
      

      equivale a chiamare l' operatore >> stesso. Operatore che oltretutto è già definito nelle librerie Qt. Volendo tradurre in italiano quello che si vede in figura risulterebbe qualcosa del tipo: "Come si deserializza una QString? Deserializzando una QString".
      La differenza tra i sistemi operativi potrebbe consistere nel fatto che in un caso la ricorsività è evitata perché viene chiamata l'implementazione "di default" dell' operatore >>, definito nelle classi di Qt e correttamente funzionante.

      1 Reply Last reply
      1
      • VRoninV Offline
        VRoninV Offline
        VRonin
        wrote on last edited by
        #3

        QDataStream &operator<<(QDataStream &out, const QString &str) e QDataStream &operator>>(QDataStream &in, QString &str) sono gia' definiti all'interno di Qt. Non c'e' bisogno che tu li ridefinisca.

        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
        ~Napoleon Bonaparte

        On a crusade to banish setIndexWidget() from the holy land of Qt

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved