Nếu tôi có như sau:Làm thế nào để gọi constructor nếu hàm có cùng tên
class T
{
public:
T(){}
};
void T()
{
}
int main()
{
T(); // this calls the function, how can I call the constructor T()?
}
tôi không có bất kỳ vấn đề với nó, vì tôi có thể có thể đổi tên nó, nhưng chỉ tò mò làm thế nào tôi có thể buộc nó gọi cho hàm tạo, và tôi cũng tự hỏi tại sao hàm gọi dường như có mức độ ưu tiên cao hơn so với hàm tạo. Ngoài ra, tại sao không có thông báo cảnh báo nào liên quan đến tên trùng lặp.
đơn giản, không cho chúng cùng tên. Hoặc không sử dụng các parens với constructor. –
@MooingDuck: "không" Trong khi đó là một lời khuyên tốt, nó không trả lời câu hỏi. – SigTerm