我想知道如何显式返回对数组的引用的函数的返回类型。
typedef int const (Three_Const_Ints)[3];
Three_Const_Ints const & foo ()
{
static int const values[] = { 0, 1, 2 };
return values;
}
int const (&)[3] bar () // Does not compile. What is the proper syntax?
{
static int const values[] = { 0, 1, 2 };
return values;
}
是的,我可以使用std::array
,但我想知道它的语法是什么。
答案 0 :(得分:2)
问题已经回答here。也就是说,我今天也学到了新东西:)好问题。
答案 1 :(得分:1)
它是这样的:
int const (&bar())[3];
答案 2 :(得分:1)
返回对数组的引用使用以下语法:
int const (& bar())[3];
答案 3 :(得分:0)
尝试以下
int const (& bar() )[3]
{
static int const values[] = { 0, 1, 2 };
return values;
}
或者
typedef const int Three_Const_Ints[3];
Three_Const_Ints & f()
{
static Three_Const_Ints values = { 0, 1, 2 };
return values;
}