не вызывется констуктор
От: Hard_Club  
Дата: 01.03.15 12:00
Оценка: -1 :)))
Этот код пишет: d
template<char ch> class My
{
public:
    My()
    {
        cout << ch;
    }
};

int main()
{
    My<'d'> my;
    return 0;
}


А этот нет
template<char ch> class My
{
public:
    My()
    {
        cout << ch;
    }
};

int main()
{
    My<'d'> my(); // скобки
    return 0;
}


Почему?
Re: не вызывется констуктор
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.03.15 12:04
Оценка: +3
Здравствуйте, Hard_Club, Вы писали:

H_C>Почему?

потому что второе — декларация функции.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: не вызывется констуктор
От: Constructor  
Дата: 01.03.15 12:40
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>Почему?

Most vexing parse же. Пользуйтесь uniform initialization из C++11, если так нравится расставлять скобочки при объявлении переменных.
Re[2]: не вызывется констуктор
От: Hard_Club  
Дата: 01.03.15 13:22
Оценка: -2
H_C>>Почему?
C>Most vexing parse же. Пользуйтесь uniform initialization из C++11, если так нравится расставлять скобочки при объявлении переменных.

Так в таком случае она будет работать как агрератная инициализация, т.е. подставлять значения в соответствующие поля вместо вызова конструктора.
Re[3]: не вызывется констуктор
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.03.15 15:12
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>Так в таком случае она будет работать как агрератная инициализация

в с++03, а вам говорят про с++11.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[4]: не вызывется констуктор
От: Hard_Club  
Дата: 01.03.15 16:58
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Hard_Club, Вы писали:


H_C>>Так в таком случае она будет работать как агрератная инициализация

X>в с++03, а вам говорят про с++11.

а в С++11 будет вызываться конструктор?
Re[5]: не вызывется констуктор
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.03.15 17:04
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>а в С++11 будет вызываться конструктор?

и снова, зачем переспрашивать?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[6]: не вызывется констуктор
От: Hard_Club  
Дата: 01.03.15 17:19
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Hard_Club, Вы писали:


H_C>>а в С++11 будет вызываться конструктор?

X>и снова, зачем переспрашивать?

чтобы понять, что правильно понял
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.