我的程序中有一个奇怪的行为。我写了一个总是失败的测试。在调试时,我看到了一些我不明白的东西:
我有一些多个构造函数,但是如果我通过 _T() 传递 unicode,总是会调用这个构造函数:
IsNullable(bool isNullable)
: m_bIsNullabe(isNullable), Flag(eNullAllowed)
{};
这是我调用构造函数的方式:
... = new IsNullable(_T("N"));
奇怪的是,上面的 bool Constructor 总是被调用......
为什么会这样?如果有人知道,我会很高兴的!
贪婪,克莱门斯
编辑:
这个构造函数应该被调用:
IsNullable(wchar_t isNullable)
: Flag(eNullAllowed)
{...};