Mã này không hoạt động như cách tôi mong đợi.Tại sao không có cuộc gọi đến nhà xây dựng?
#include<iostream>
using namespace std;
class Class
{
Class()
{
cout<<"default constructor called";
}
~Class()
{
cout<<"destrutor called";
}
};
int main()
{
Class object();
}
Tôi mong đợi hàm tạo mặc định của đầu ra được gọi là ', nhưng tôi không thấy bất kỳ thứ gì là đầu ra. Vấn đề là gì?
constructor của bạn là tư nhân. –
@dribeas: Đây không phải là phân tích cú pháp gây tranh cãi nhất; nó chỉ là một phân tích hơi vexing. "Phân tích cú pháp khó chịu nhất" thường được dành riêng cho một nỗ lực để tạo ra một biến với một khởi tạo trực tiếp của một giá trị khởi tạo tạm thời: 'A a (A());' (sai lầm của tôi ban đầu.) –
xem thêm http://stackoverflow.com/questions/180172/default-constructor-with-empty-brackets –