Errore libreria

di il
3 risposte

Errore libreria

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

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte