Взято
здесьАвтор: Proteus
Дата: 21.01.08
.
template<typename T>
struct A
{
T v;
};
template<typename T>
union B
{
A<T> a[2];
};
B<int> b;
.\main.cpp(18) : error C2621: member 'B<T>::a' of union 'B<T>' has copy constructor
with
[
T=int
]
.\main.cpp(21) : see reference to class template instantiation 'B<T>' being compiled
with
[
T=int
]
Свеженькое или баян?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, rg45, Вы писали:
R>Взято здесьАвтор: Proteus
Дата: 21.01.08
.
R>R>template<typename T>
R>struct A
R>{
R> T v;
R>};
R>template<typename T>
R>union B
R>{
R> A<T> a[2];
R>};
R>B<int> b;
R>
Обойти можно, если массив обернуть в структуру:
template<typename T>
struct A
{
T v;
};
template<typename T>
union B
{
struct
{
A<T> a[2];
}t;
};
B<int> b;
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
template<typename T>class test{
public:
typedef struct {T v;} st;
union {
st array[2];
char data[500];
};
};
Так пропатывает)))
Здравствуйте, skeptik_, Вы писали:
_>Здравствуйте, rg45, Вы писали:
R>>Свеженькое или баян?
_>В инете я такого не нашёл. Интересно, что массив или шаблон по отдельности затруднений с определением тривиальности ктора у него не вызывают, только их комбинация... В МС уже написал?
Да нет, не успел еще, пытаюсь выяснить, может открыто уже.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>