EDIT: Спасибо всем, что нашли время ответить. Я пробовал все предложения один за другим, и он все еще не работал. Я действительно хотел передать это, не обращаясь к профессору за помощью и не показав, что я не могу понять, как это сделать, но на данный момент, я думаю, мне придется это сделать. Я ценю, что вы нашли время, чтобы помочь! Спасибо.Невозможно правильно вызвать функцию в C++
Я беру курс C++ и имею задание, с которым у меня возникают проблемы. Я продолжаю получать ошибку: «ожидаемое первичное выражение перед« int »всеми тремя объявлениями массива. И «не был объявлен в этой области» всеми тремя передаваемыми адресами. Это на компиляторе, который я обычно использую. Я попробовал другой компилятор, и я получил ошибку «prog.cpp: 14: 38: error: can not convert» std :: array 'to' int 'для аргумента' 1 'to' void addArrays (int *, int *, int *) ' addArrays (& array1, & array2, & array3); " Я не совсем уверен, что происходит, поскольку я новичок и надеялся, что кто-то скажет мне, что означают эти ошибки и что я могу сделать, чтобы исправить их. Заранее спасибо. Вот код, у меня есть:
#include <iostream>
#include <array>
using namespace std;
void addArrays(int*, int*, int*);
int main()
{
array< int, 20 >array1 =
{7,45,90,1,33,254,3,8,9,4,2,6,77,5,9,2,22,4,12,6};
array< int, 20 >array2 =
{88,4,6,75,1,12,33,99,66,88,7,4,44,4,3,13,5,4,9,3};
array< int, 20 >array3;
addArrays(&array1,&array2,&array3);
cout << "Array1 + Array2 = Array3" << endl;
int j;
for(j=0; j<20; ++j)
cout << array1[j] << "+" << array2[j] << "=" << array3[j] << endl;
return 0;
}
void addArrays(int *array1, int *array2, int *array3)
{
int i;
for(i=0; i<20; ++i)
array3[i] = array1[i]+array2[i];
}