Bug del compilatore con il parametro template = void* - pagina 2

 
fxsaber:

Sfortunatamente, non ho mai visto un esempio di come usarlo.

Bene, per esempio, creare un array di oggetti di tipo diverso.
 
Vladimir Simakov:
Bene, per esempio, creare un array di oggetti di tipo diverso.

Sopra ho dato un esempio di questo io stesso. Ma allora come ci si riferisce a loro se non si conoscono i tipi?

 
fxsaber:

Sopra ho dato un esempio di questo io stesso. Ma allora come si fa ad affrontarli se non si conoscono i tipi?

Come posso non saperlo? Ce li ho messi io stesso, cioè la loro lista è definitiva. Potete farlo provando i tipi in questa lista, dynamic_cast per aiutare.

 
Vladimir Simakov:

Come posso non saperlo? Ce li ho messi io stesso, cioè la loro lista è finita. Potete usare dynamic_cast per aiutarvi.

Beh, questa è una soluzione da stampella!

 

In MQ, per esempio, ArrayCopy è basato su void*. Quando ho bisogno di modificarlo, uso un modello. E tutto funziona, naturalmente, e rigorosamente secondo i tipi specificati.

Ecco perché non riesco ancora a trovare alcuno script void* conveniente. Apparentemente, vedo le possibilità che questo costrutto offre in modo ristretto.

 
fxsaber:

Beh, questa è una soluzione da stampella!

Beh, se l'uomo lo vuole, perché rovinare tutto? E poi, perché è una stampella? Se le risorse libere lo permettono, perché no? Quindi, Java è una grande stampella, e l'assemblatore regna. Alla fine abbiamo il desiderio ma nessuna possibilità, e non è chiaro perché, e non va bene, dovremmo rimediare.

 
Vladimir Simakov:

Beh, se una persona lo vuole, allora perché rovinarlo. E poi, perché rovinare tutto? Se le risorse gratuite lo permettono, allora perché no. Quindi, Java è una grande stampella, e l'assemblatore in generale domina. Alla fine abbiamo il desiderio ma nessuna possibilità, e non è chiaro perché, e non va bene, dovremmo rimediare.

Non contro questo chip. Lo chiedo per imparare cose nuove e utili. Questo è il motivo per cui sono sul forum in molti modi.

 
fxsaber:

In MQ, per esempio, ArrayCopy è basato su void*. Quando ho bisogno di modificarlo, uso un modello. E tutto funziona, naturalmente, e rigorosamente secondo i tipi specificati.

Ma non copia alcun puntatore, solo quelli compatibili che vengono lanciati implicitamente. Anche tutte le funzioni definite dall'utente funzionavano in questo modo ed era molto comodo. Ora si tratta di lavorare con i modelli o di ricopiare in un nuovo array. Non è chiaro chi abbia voluto ridurlo e perché.

 
Alexey Navoykov:

Ma non copia nessun puntatore, ma solo quelli compatibili che sono castati implicitamente. Anche tutte le funzioni utente funzionavano in questo modo ed era molto comodo. Ora devi fare qualsiasi problema con i modelli o copiarlo in un nuovo array. Non so chi abbia voluto ridurlo e perché.

Come era possibile prima. Sembra che i tipi debbano sempre corrispondere.

 
Alexey Navoykov:

Errore del compilatore. Bild 1961.

E nel 1961x32 tutto funziona... bello!
Motivazione: