gpt4 book ai didi

C++将字符串数组传递给函数

转载 作者:行者123 更新时间:2023-11-27 23:04:24 25 4
gpt4 key购买 nike

所以我想将一个 std::strings 数组传递给一个函数。数组中 std::strings 的数量是通过 preproc 预定义的。指令。整个事情应该是这样的:

#define ARRAYSIZE 3
void foo(std::string[ARRAYSIZE]);
void foo(std::string instrings[ARRAYSIZE])
{
...
}

问题:我可以调用该函数而不必先将 std::string 数组保存到一个变量,然后用它调用吗?所以基本上我想用一行来调用它,比如:

void main()
{
...
foo( std::string x[ARRAYSIZE] = {"abc","def","ghi"} );
...
}

问题是我无法弄清楚函数调用的正确语法(我什至不确定是否存在),visual studio 的 intellisense 不断击落我的想法。

最佳答案

如果您想切换到可以即时构建的 std::vector,正如您在对问题的评论中提到的那样,这应该可行(适用于 gcc):

void foo(const std::vector<std::string> &stringVec)
{
}

int main()
{
foo( std::vector<std::string>({"abc","def","ghi"}));
}

关于C++将字符串数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24601803/

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