只有"void"是不可引用的类型吗?
Is only "void" a non-referenceable type?
#include <iostream>
using std::cout;
using std::endl;
using std::boolalpha;
using std::add_rvalue_reference_t;
using std::is_reference_v;
int main(void) {
cout << boolalpha << is_reference_v<add_rvalue_reference_t<int>> << endl; // true
cout << boolalpha << is_reference_v<add_rvalue_reference_t<int &>> << endl; // true
cout << boolalpha << is_reference_v<add_rvalue_reference_t<int &&>> << endl; // true
cout << boolalpha << is_reference_v<add_rvalue_reference_t<void>> << endl; // false
return 0;
}
我想知道除了 void 之外还有其他类型是不可引用的吗?
std::add_rvalue_reference
也不会为带有 cv 限定符或 ref-qualifier 的函数类型创建引用类型。
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
住
相关文章:
- 引用一个已擦除类型(void*)的指针
- 错误:"cast"未命名类型void setCastDescription(std::string
- 错误:对类型 'const ItemInstance' 的引用无法绑定到类型 'void' 的右值
- 从类型"void*"到函数指针的强制转换无效
- C++错误(从不兼容的类型"void"分配给树节点*)
- 从不兼容的类型 'void (Button::*)(int)' 分配给'void (*)(int)'
- 从类型"void*"到类member_function指针的强制转换无效
- 将 false 转换为指针类型 void*
- 称为对象类型"void (B::*)(int)"不是函数或函数指针
- CPP(15): 错误 C2182:"输入":"非法使用类型"void"
- 类型 "void (Biometria::*)(char *idSensor, GRCAP_FINGER_EVENTS event)" 的参数与类型 "GRCAP_STATUS_EVENT_PROC
- Xcode 变量具有不完整的类型 void
- qvector.h(74):错误 C2182:'t':非法使用类型 'void'
- C 函数声明对类型"void(*fcn)(void*)"参数的说明
- C++从类型“void*”转换为类型“double”无效
- LAMBDA 错误:类型 'void' 的条件表达式是非法的
- 类型 void 的值不允许在 C++ 中出错
- 从类型 'MyStruct' 转换为类型 'void*' 无效
- C++,参数类型(void*&)的目的是什么?
- 无法将不完整类型'void *'的参数转换为'const bitData'