我正在使用 Visual Studio 2012(但使用 VC++ 2010 构建工具),并且我在一个类中定义了这两个重载函数(下面的签名),我稍后在另一个类中调用该类来实例化第一个类(也在下面):
Defined in the class:
Node CreateNode(Node *parent,string name,string node_text,bool expects_node = true);
Node CreateNode(Node *parent,string name, string attribute, string value,bool expects_node = true)
Calling these functions in the macro:
Node axis1 = handler->CreateNode(&sparse,"axis","id","trigger_pt");
当我调用函数时,它调用的是第一个函数,而不是第二个!所以它将第二个字符串视为布尔值!但是,当我在函数调用中添加“true”时,它会按预期调用第二个函数。谁能解释一下?谢谢!