У меня есть этот код, но он не скомпилируется, и я не могу понять, что не так - я думаю, что указание вектора неверно.
Моя идея состояла в том, чтобы собрать некоторые числа в main () и сохранить их в векторе и массиве, а затем передать их адрес памяти функции и использовать указатели для печати сохраненных данных.
Я придумал это, когда прочитал что-то об указателях, в которых говорилось, что я должен использовать их для экономии памяти, поэтому код IMO ниже не будет копировать содержимое вектора и массива, а будет использовать указатель для доступа к место в памяти - это то, что я хочу сделать.
#include <iostream>
#include <vector>
using namespace std;
void function(vector<int>* a, int *s)
{
cout << "function starts.." << endl;
for(int i=0;i<a->size();i++)
{
cout << a[i] << endl;
cout << s[a[i]] << endl;
}
cout << "function ends..." << endl;
}
int main(void)
{
vector<int> m;
int s[102];
for(int i=0;i<10;i++)
{
m.push_back(i*i);
s[i*i] = i-2;
}
function(&m, &s);
return 0;
}
Я получаю несколько ошибок при компиляции, что-то не так.
Скажите, пожалуйста, что не так с моим кодом и как его исправить. спасибо ...