gpt4 book ai didi

c++ - 有没有办法在 C++ 函数体内定义返回类型?

转载 作者:行者123 更新时间:2023-11-30 01:57:02 24 4
gpt4 key购买 nike

我如何在运行时定义函数内部的返回类型?我有一个成员 char* m_data;,我想在不同情况下返回 m_data 到不同类型的转换。

?type? getData() const
{
switch(this->p_header->WAVE_F.bitsPerSample)
{
case 8:
{
// return type const char *
break;
}
case 16:
{
// return type const short *
break;
}
case 32:
{
// return type const int *
break;
}
}
}

最佳答案

不,但是因为你总是返回一个指针,你可以只返回一个 void* .请注意,调用者无法找出指针背后的内容,因此您最好尝试将返回值包装在 boost::variant<char*,short*,int*> 中。或 boost::any/cdiggins::any

关于c++ - 有没有办法在 C++ 函数体内定义返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19208132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com