
11 Dec
2009
11 Dec
'09
5:40 a.m.
Hmm. As usual, it was user error. Although I'm not quite sure why it didn't work. My operator= was assigning an object of type const expr_node& directly to the variant. Still, I'm not sure why it compiled at all. shouldn't the compiler have reported an error? And even if it were correct to not report an error, shouldn't it have actually worked since the class was pod? I'm not sure what was really going on behind the scenes in the compiler to make it create a junk object.