throw & private copy constructor
От: rm822 Россия  
Дата: 18.08.10 14:46
Оценка: 43 (3)
Конструктор копий при этом вызывается, несмотря на private.

#include <stdexcept>

class MyEx
{
    MyEx(const MyEx& other)    { printf("%s\n", __FUNCSIG__); }
public:
    MyEx() {}
};

int _tmain(int, _TCHAR*[])
{
    MyEx ex;
    try{
        throw ex;
    } catch(const MyEx&) {
    }
    return 0;
}


PS: MSVC2008, ключ в том что делается throw ex; а не throw MyEx();
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.