C++-এ অ্যারে ভ্যালু হিসেবে পাস করা যায় না, পয়েন্টার হিসেবে পাস হয় (array decays to pointer)। এক-মাত্রিক অ্যারে পাস করার তিনটি সমতুল্য সিনট্যাক্স:
১. পয়েন্টার হিসেবে
void myFunction(int *param) { ... }
২. সাইজড অ্যারে হিসেবে (সাইজ উপেক্ষা করা হয়)
void myFunction(int param[10]) { ... }
৩. আনসাইজড অ্যারে হিসেবে
void myFunction(int param[]) { ... }
উদাহরণ
#include <iostream>
using namespace std;
void arrayAccept(int arr[]) {
cout << "first element is: " << arr[0];
}
int main() {
int arr[2] = {0, 1};
arrayAccept(arr);
return 0;
}
আউটপুট
first element of array is 0
গুরুত্বপূর্ণ: ফাংশনের ভিতরে sizeof(arr) দিয়ে অ্যারের আকার জানা যায় না (পয়েন্টার সাইজ রিটার্ন করবে)। আকার আলাদা প্যারামিটার হিসেবে পাস করতে হয় বা std::span (C++20) / std::vector / std::array ব্যবহার করুন।