我有一个类型的变量Blah
。
我想将其转换为char[sizeof(blah)]
,而不复制。
我需要类型转换足够强大以实例化期望的模板char[N]
。
我已经尝试了很多东西,但我无法完全理解它。
我希望这样的事情能够正常工作:
class Blah {
int a;
};
template <typename T>
void foo (T& a)
{
//Not an array
}
template <int N>
void foo (char(&a)[N])
{
//an array!
}
Blah b;
foo(b); //not an array
foo((char[sizeofBlah])b); //hopefully treated as an array