Search code examples
c++c++11typesreference

What are non-referenceable types?


I know that void& is invalid. But, are there any other types, that are non-referenceable?


Solution

  • std::add_rvalue_reference won't make reference type for function type with cv-qualifier or ref-qualifier either. e.g.

    cout << boolalpha << is_reference_v<add_rvalue_reference_t<void() const>> << endl;   // false
    cout << boolalpha << is_reference_v<add_rvalue_reference_t<void() volatile>> << endl;   // false
    cout << boolalpha << is_reference_v<add_rvalue_reference_t<void() const volatile>> << endl;   // false
    cout << boolalpha << is_reference_v<add_rvalue_reference_t<void() &>> << endl;   // false
    cout << boolalpha << is_reference_v<add_rvalue_reference_t<void() &&>> << endl;   // false
    

    LIVE