Compilerfehler mit Template-Parameter = void* - Seite 2

 
fxsaber:

Leider habe ich nie ein Beispiel gesehen, wie man es verwendet.

Nun, zum Beispiel die Erstellung eines Arrays von Objekten verschiedener Typen.
 
Vladimir Simakov:
Nun, zum Beispiel die Erstellung eines Arrays von Objekten verschiedener Typen.

Ich selbst habe oben ein Beispiel dafür gegeben. Aber wie kann man sich auf sie beziehen, wenn man die Typen nicht kennt?

 
fxsaber:

Ich selbst habe oben ein Beispiel dafür gegeben. Aber wie soll man sie ansprechen, wenn man die Typen nicht kennt?

Wie kann ich das nicht wissen? Ich habe sie selbst dort eingetragen, d.h. ihre Liste ist endgültig. Sie können es tun, indem Sie versuchen, Typen in dieser Liste, dynamic_cast zu helfen.

 
Vladimir Simakov:

Wie können Sie das nicht wissen? Ich habe sie selbst dort platziert, d.h. ihre Liste ist endlich. Sie können dynamic_cast zur Hilfe nehmen.

Nun, das ist eine Krückenlösung!

 

In MQ zum Beispiel basiert ArrayCopy auf void*. Wenn ich sie ändern muss, verwende ich eine Vorlage. Und natürlich funktioniert alles, und zwar strikt nach vorgegebenen Typen.

Deshalb kann ich auch noch kein geeignetes Skript für die Leere* finden. Offenbar sehe ich die Möglichkeiten, die dieses Konstrukt bietet, zu eng.

 
fxsaber:

Nun, das ist eine Krückenlösung!

Nun, wenn der Mann es will, warum sollte er es vermasseln? Und warum ist sie dann eine Krücke? Warum nicht, wenn es die freien Ressourcen erlauben? Java ist also eine große Krücke, und Assembler regiert. Am Ende haben wir Wünsche, aber keine Möglichkeiten, und es ist nicht klar, warum, und das ist nicht gut, wir sollten es in Ordnung bringen.

 
Vladimir Simakov:

Nun, wenn man es will, warum sollte man es dann vermasseln. Und warum sollte man es dann vermasseln? Wenn es die freien Ressourcen erlauben, warum nicht. Java ist also eine einzige große Krücke, und Assembler ist die Regel. Am Ende haben wir Wünsche, aber keine Möglichkeiten, und es ist nicht klar, warum, und das ist nicht gut, wir sollten es in Ordnung bringen.

Nicht gegen diesen Chip. Nachfragen, um neue und nützliche Dinge zu lernen. Das ist der Grund, warum ich in vielerlei Hinsicht in diesem Forum bin.

 
fxsaber:

In MQ zum Beispiel basiert ArrayCopy auf void*. Wenn ich sie ändern muss, verwende ich eine Vorlage. Und natürlich funktioniert alles, und zwar strikt nach vorgegebenen Typen.

Aber es kopiert keine Zeiger, sondern nur kompatible, die implizit gecastet werden. Alle benutzerdefinierten Funktionen funktionierten früher auch so und es war sehr bequem. Jetzt muss man entweder mit Templates arbeiten oder in ein neues Array umkopieren. Es ist unklar, wer das einschränken wollte und warum.

 
Alexey Navoykov:

Aber es kopiert keine Zeiger, sondern nur kompatible, die implizit gecastet werden. Alle Benutzerfunktionen funktionierten früher auch so und es war sehr bequem. Jetzt muss man entweder irgendwelche Probleme mit Templates machen oder sie in ein neues Array kopieren. Es ist unklar, wer das abschaffen wollte und warum.

Wie war das früher möglich? Es scheint, dass die Typen immer übereinstimmen sollten.

 
Alexey Navoykov:

Kompilierfehler. Bild 1961.

Und in 1961x32 funktioniert alles... Schön!