Appel d'une classe template ?
Hello,
Par un jeu un peu étonnant, je suis arrivé à un code comme ceci :
Code:
1 2 3 4 5
| template<typename T>
class assert_type_not_copyable {
static_assert(not std::is_copy_constructible<T>(), "Error! Type should not be copy constructible");
static_assert(not std::is_copy_assignable<T>(), "Error! Type should not be copy assignable");
}; |
Ca fait bien le taff :
Code:
1 2 3 4 5 6 7 8
| class OK {
OK(const OK&) = delete;
OK& operator=(const OK&) = delete;
};
int main() {
assert_type_not_copyable<OK>();
} |
Mon interrogation vient du fait que je dois mettre les parenthèses lors de l'utilisation, comme ci on appelait la classe. Il se passe quoi en fait ?
Merci d'avance :ccool: