gpt4 book ai didi

c++ - 我如何迭代作为指针传递的对数组参数?

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

我如何迭代作为指针传递的对数组参数?

我曾尝试将 &arr 用作引用对。但它也不起作用。我可以通过 pair<lli,lli> a[n];作为引用??

#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#define LOCAL
#include <bits/stdc++.h>
using namespace std;

#define ff first
#define ss second
typedef long long int lli;
typedef unsigned long long int ulli;

void yeah( pair<lli,lli> *arr ){
// cout << arr[0].ff; 100
//this doesnt work :(
for(auto e : arr){
cout << e.ff << " " << e.ss << endl;
}
}


int main() {
int n = 10;
pair<lli,lli> a[n];
a[0].ff = 100;
a[1].ss = 150;

yeah(a);
}

这是我得到的错误

prog.cpp: In function 'void yeah(std::pair)': prog.cpp:13:18: error: no matching function for call to 'begin(std::pair&)' for(auto e : arr){ ^ ^

最佳答案

固定大小数组的可能解决方案:

template<std::size_t size>
void foo(std::pair<int, int> (&arr)[size]) {
for (auto e : arr) {
...
}
}

constexpr std::size_t n = 10; // should be known at compile time
std::pair<int, int> a[n];

foo(a);

关于c++ - 我如何迭代作为指针传递的对数组参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58815446/

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