gpt4 book ai didi

c++ - 如何初始化数组并将其作为参数传递而不声明它?

转载 作者:行者123 更新时间:2023-11-28 02:47:44 25 4
gpt4 key购买 nike

如何初始化数组并将其作为参数传递而不声明它?我想在一行中写下以下内容而不使用中间数组 color

unsigned char color[3] = {100, 20, 0};
paintWithColor(color);

该函数声明为 void paintWithColor( const unsigned char* )。以下不起作用:

paintWithColor({100,20,0});

如果我有任何错误,我很抱歉。

最佳答案

对于 C++11,您可以使用带有初始化列表的重载:

#include <iostream>

void paintWithColor(const unsigned char* ) {
std::cout << "Painting\n";
}
void paintWithColor(std::initializer_list<unsigned char> colors) {
paintWithColor(colors.begin());
}

int main()
{
paintWithColor({100,20,0});
}

注意:这适用于 MSVC 2013(参见:http://blogs.msdn.com/b/vcblog/archive/2013/12/02/c-11-14-core-language-features-in-vs-2013-and-the-nov-2013-ctp.aspx)

关于c++ - 如何初始化数组并将其作为参数传递而不声明它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23871621/

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