30 lines
407 B
C
30 lines
407 B
C
|
#ifndef A_H
|
||
|
#define A_H
|
||
|
|
||
|
template <typename T>
|
||
|
struct A {
|
||
|
template <typename I>
|
||
|
A(I i1, I i2) {
|
||
|
}
|
||
|
A(double) {}
|
||
|
A(double, double) {}
|
||
|
A(double, int) {}
|
||
|
A(int, double) {}
|
||
|
};
|
||
|
|
||
|
template <typename T1, typename T2>
|
||
|
T1 fff(T2* t) {
|
||
|
return T1(t, t);
|
||
|
}
|
||
|
|
||
|
inline A<int> ff(int i) {
|
||
|
return fff<A<int>>(&i);
|
||
|
}
|
||
|
|
||
|
struct Aggregate {
|
||
|
int member;
|
||
|
};
|
||
|
bool operator==(Aggregate, Aggregate) = delete;
|
||
|
|
||
|
#endif
|