Stò provando un progetto dove uso una libreria fatta da me, ma mi da errore con la procedura "alloca" dove mi dice: "passed 2 arguments but takes just 1..".
Ho controllato molte volte il codice ma non riesco a trovare l errore dato che alloca lavora con 2 parametri..
MAIN.CPP
#include "funzioni.h"
int main()
{
int dim;
int *v1, *v2, *s;
leggi(dim);
alloca(v1, dim);
alloca(v2, dim);
alloca(s, dim);
inizializza(v1, dim, 23);
inizializza(v2, dim, 12);
somma(v1, v2, s , dim);
cout << "v1: ";
stampa(v1, dim);
cout << "v2: ";
stampa(v2, dim);
cout << "s: ";
stampa(s, dim);
return 0;
}
FUNZIONI.CPP
#include "funzioni.h"
void leggi(int &dim) {
cout << "Dammi la dimensione dei vettori: ";
cin >> dim;
}
void alloca(int *&p, int dim) {
p = new int[dim];
}
void inizializza(int v[], int dim, int seed) {
for(int i = 0; i < dim; i++) {
v[i] = i * seed;
}
}
void somma(int v1[], int v2[], int s[], int dim) {
for(int i = 0; i < dim; i++) {
s[i] = v1[i] + v2[i];
}
}
void stampa(int v[], int dim) {
for(int i = 0; i < dim; i++) {
cout << v[i] << " ";
}
cout << endl;
}
FUNZIONI.H
#include <iostream>
using namespace std;
void leggi(int &dim);
void alloca(int *&p, int dim);
void inizializza(int v[], int dim, int seed);
void somma(int v1[], int v2[], int s[], int dim);
void stampa(int v[], int dim);
saluti