Errori, bug, domande - pagina 2566
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Con questa fusione, non c'è perdita di dati. O è 0 o non è 0.
Un altro caso è quando double -> qualsiasi tipo intero (fino a int32 incluso)
Stai giocando un po' troppo con gli avvertimenti secondo me, c'è una mancanza di coerenza nel tuo giudizio
Hai esagerato un po' con gli avvertimenti secondo me, c'è una mancanza di coerenza nel giudizio
D'accordo
Anche qui,non c'è perdita di dati in questo senso(o 0 o non 0)
ma c'è un avvertimento. Ci si aspettava un approccio uniforme
Risultato di un tentativo di accedere a una proprietà di un'istanza di classe da una funzione statica della stessa classe:
Il compilatore era silenzioso prima di questo.Non inizializza una stringa vuota con un terminale nullo.
Risultato
Previsto
Nota nella guida della funzione StringInit
In effetti, non c'è alcuna distribuzione.
Cioè l'assegnazione in questo modo, dieci spazi
non è la stessa cosa.
Il testo di aiuto segnato in rosso non corrisponde al comportamento logico.
Stai esagerando con gli avvertimenti secondo me, non c'è abbastanza coerenza nel giudizio
Gli avvertimenti non funzionano sulle operazioni booleane, ora ho notato per caso un errore di battitura nel mio codice, quindi l'ho riprodotto:
Non inizializza una stringa vuota con un terminale nullo.
Risultato
Previsto
Nota nella guida della funzione StringInit
In realtà non c'è nessuna distribuzione.
Cioè l'assegnazione in questo modo, dieci spazi
non è la stessa cosa.
E non sembra corrispondere alla logica del comportamento, evidenziata in rosso nel testo di aiuto.
Ti sei perso la funzione StringBufferLen - restituisce la dimensione del buffer allocato. StringLen restituisce la lunghezza della stringa, cioè fino al carattere terminale, rispettivamente, se è all'inizio - lunghezza 0. Buffer != stringa.
Hai trascurato la funzione StringBufferLen, che restituisce la dimensione del buffer allocato. StringLen restituisce la lunghezza della stringa, cioè fino al carattere terminale, rispettivamente, se è all'inizio - lunghezza 0. Buffer != stringa.
Altrimenti non conosce se stesso.
Hai trascurato la funzione StringBufferLen, che restituisce la dimensione del buffer allocato.
StringLen restituisce la lunghezza della stringa, cioè fino al carattere terminale, rispettivamente, se è all'inizio - lunghezza 0. Buffer != stringa.
Questo è chiaro, stiamo parlando di inizializzare una stringa con degli zeri terminali.
Perché non riempire stringInit(str, 10, 0); con dieci zeri terminali? E restituisce la lunghezza effettiva della stringa.
Se volete inizializzare una stringa vuota, senza riempirla, per esempio con 100 caratteri,
allora o 100 spazi come str = " molti colpi alla tastiera ", o inizializzare la spazzatura StringInit(str, 100, 65)
Non capisco perché devo inizializzarlo con la spazzatura, ce n'è già abbastanza ))
È comprensibile, stiamo parlando di inizializzare la stringa con zeri terminali.
Perché non riempire StringInit(str, 10, 0); con dieci zeri terminali? E restituisce la lunghezza effettiva della stringa.
Se volete inizializzare una stringa vuota, senza riempirla, per esempio con 100 caratteri,
allora o 100 spazi come str = " molti colpi alla tastiera ", o inizializzare la spazzatura StringInit(str, 100, 65)
Non capisco perché devo inizializzarlo con la spazzatura, ce n'è già abbastanza ))
Cosa ti fa pensare che non sia compilato? È solo che la lunghezza nella stringa µl non è memorizzata, è riconosciuta dal terminale zero.
No?
E se avete bisogno di zeri, c'è una classe String da qualche parte nelle viscere di µl std.
Cosa ti fa pensare che non sia compilato? È solo che la lunghezza nella stringa µl non è memorizzata, è riconosciuta dal terminale zero.
non è vero?
E se avete bisogno di zeri, c'è una classe String da qualche parte nelle viscere dello std µl.
Nah... Anche in questo modo restituisce zero. E il terzo parametro ushort, richiede un codice di carattere intero.
Se inizializzo come str = " "; e poi passo i dati dalla dll, tutto è ok.
Ma se lo inizializzo come StringInit(str, 10, 0) allora i dati non arrivano. Questo perché il codice non alloca la memoria per la stringa con la dimensione necessaria.
Se avessi codice per lo spazio, probabilmente avrebbe funzionato, ma che non ho trovato tale codice in diverse tabelle.
Abbiamo bisogno di allocare la memoria per il numero di caratteri futuri che poi andranno alla stringa vuota già inizializzata.
Ma spazzatura per inizializzare la stringa, non kommelpho.
StringInit(str, 100, 0); dovrebbe essere riempito di nulli terminali e restituire la lunghezza 100.