【发布时间】:2012-05-07 14:44:30
【问题描述】:
如果我有以下情况:
class T
{
public:
T(){}
};
void T()
{
}
int main()
{
T(); // this calls the function, how can I call the constructor T()?
}
我对它没有任何问题,因为我可以重命名它,但只是好奇如何强制它调用构造函数,而且我问自己为什么函数调用的优先级似乎高于构造函数。另外,为什么没有关于重复名称的警告消息。
【问题讨论】:
-
简单,不要给他们相同的名字。或者不要在构造函数中使用括号。
-
@MooingDuck:“不要”虽然这是一个不错的建议,但它并没有回答问题。
标签: c++ constructor overload-resolution