Ciao a tutti! sono nuovo del forum e come prima cosa vorrei salutarvi
sto cercando di capire come funzionano questi file header e ho un dubbio:
se creo questo programma:
//FILE A.cpp
void u(int a , int b){
a=b;
}
//FILE A.h
void u(int a,int b);
// FILE main.cpp
#include <cstdlib>
#include <iostream>
#include "A.h"
using namespace std;
int a;
int b=100;
int main(int argc, char *argv[])
{
u(a,b);
cout<<a<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
In base alle mie conoscenze, la funzione che ho creato u(a,b) dovrebbe eguagliare a a b, mentre in questo caso non funziona, e a rimane sempre a 0. Come mai? se togliessi nel main u(a,b) e mettessi semplicemente a=b; mi funziona correttamente, quindi la cosa che mi viene spontanea da dire è che non posso modificare i valori con funzioni presenti in altri file e richiamati attraverso i file header.... mi sapete dire se è corretto?
Grazie mille per il supporto.