1

Bon, c'est très simple, mon premier instinct est de ne pas faire ça, mais ...

https://ideone.com/yaJUOj

Sous gcc 4.1.2 ça donne 2, sur ideone aussi (mais je ne sais pas quel compilateur ils utilisent).

Je n'ai jamais eu de cours, mais c'est pas du comportement indéfini ou implementation-defined ce genre de bêtises?

2

Tu qualifies explicitement B::foo(), alors forcément ça marche.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Ok, mais du coup si je ne précise pas B::foo(), ça fonctionne?

[EDIT] En fait c'est bon, puisque quand j'arrive dans le corps de B, vtable = &B::vtable.

C'est juste qu'en C# ce genre de constructions est déconseillé, donc j'ai pris l'habitude de l'éviter comme la peste

4

Hum? le code en lien sors 1 et pas 2
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5

Oui, ça ne marche plus quand on appelle la méthode dans le constructeur de A.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Godzil (./4) :
Hum? le code en lien sors 1 et pas 2
Il a été édité. Avant il faisait un appel direct via B::foo() et il retournait donc bien 2
avatar

7

Bon bah je me sens con grin. ça revient à l'ordre d'appel des constructeurs ...

8

Hmm, je me serais pas attendu à ça. Oo
C'est d'une certaine façon logique, et en même temps tellement contre-intuitif, cette désactivation du mécanisme de méthodes virtuelles pendant la construction…
(Merci pour ta question/réponse fort instructive ^^)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

9

En fait ce "problème" n'est qu'une conséquence d'une grosse réécriture de code sur laquelle je travaille depuis 2-3 jours, c'est la dernière étape grin