Dでプログラム書いてたときに謎のAccess Violationで落ちたので原因追求。


void main(){
interface ihoge{}
class choge:ihoge{}
void[ihoge]map;
map[new choge];
map[new choge];
}
とりあえず問題が起きる最小のコードにした。
どうやら連想配列のkeyにinterfeceを入れると落ちることが分かった。
とりあえず連想配列のkeyをvoid*にして緊急回避。

void main(){
interface ihoge{}
class choge:ihoge{}
void[void*]map;
map[new choge];
map[new choge];
}
あまり綺麗じゃないなぁ。