:quote:Originariamente inviato da FinalFantasy
spostato e ora va...
![]()
:quote:Originariamente inviato da FinalFantasy
spostato e ora va...
![]()
Beh in C++ esiste il bool come tipo nativo così come true e false e la string come classe per gestire le stringhe in maniera semplice.Originariamente inviato da FinalFantasy
e xke nn dovrei?
ne sistemo uno e ne spunta un altro...
operator.h
void initOperatorDatabase();
operator.cpp
void initOperatorDatabase()
{
operatori[0].symbol="<-";
operatori[0].length=2;
operatori[0].priority=0;
operatori[0].function=&Assignment;
operatori[0].ot=BINARIO;
operatori[1].symbol="=";
operatori[1].length=1;
operatori[1].priority=1;
operatori[1].function=&Assignment;
operatori[1].ot=BINARIO;
}
vsl.cpp
#include <iostream>
#include "types.h"
#include "operator.h"
using namespace std;
int main()
{
//inizializzazione
initOperatorDatabase();
...
}
mi dice
In file included from vsl.cpp:2:
types.h:29:7: warning: no newline at end of file
In file included from vsl.cpp:3:
operator.h:13:7: warning: no newline at end of file
/tmp/ccBvV8Mc.o: In function `main':
vsl.cpp.text+0x3da): undefined reference to `initOperatorDatabase()'
collect2: ld returned 1 exit status
come può essere?
Mi sembra che questo sia un difetto comune di quel tipo di compilatori ...Originariamente inviato da FinalFantasy
In file included from vsl.cpp:2:
types.h:29:7: warning: no newline at end of file
In file included from vsl.cpp:3:
operator.h:13:7: warning: no newline at end of file
Prova ad aggiungere una linea vuota alla fine dei due file .h inclusi ...
il problema nn era questoOriginariamente inviato da oregon
Mi sembra che questo sia un difetto comune di quel tipo di compilatori ...
Prova ad aggiungere una linea vuota alla fine dei due file .h inclusi ...![]()
![]()
ma il report del linker
/tmp/ccBvV8Mc.o: In function `main':
vsl.cpp.text+0x3da): undefined reference to `initOperatorDatabase()'
collect2: ld returned 1 exit status
Cioe'? Che vuoi dire?Originariamente inviato da FinalFantasy
il problema nn era questo![]()
![]()
ma il report del linker
/tmp/ccBvV8Mc.o: In function `main':
vsl.cpp.text+0x3da): undefined reference to `initOperatorDatabase()'
collect2: ld returned 1 exit status
Il linker non riesce a trovare la funzione perche' il compilatore non processa correttamente il file sorgente e il tutto a causa del bug di cui ti parlavo e che dovresti risolvere con le linee vuote ...
questo fatto delle righe vuote, anche se me lo segnalava, compilava lo stesso...cmq ho rimediato e nn cambia nullaOriginariamente inviato da oregon
Cioe'? Che vuoi dire?
Il linker non riesce a trovare la funzione perche' il compilatore non processa correttamente il file sorgente e il tutto a causa del bug di cui ti parlavo e che dovresti risolvere con le linee vuote ...
>g++ -pedantic -Os vsl.cpp -o vsl
/tmp/cclTbp2h.o: In function `main':
vsl.cpp.text+0x3da): undefined reference to `initOperatorDatabase()'
collect2: ld returned 1 exit status
>Exit code: 1
E' ovvio che il linker ti dica che non sa come risolvere quella funzione ...
Non hai detto che esiste anche un altro sorgente, ovvero operator.cpp ...
ok...è ovvio una cosaOriginariamente inviato da oregon
E' ovvio che il linker ti dica che non sa come risolvere quella funzione ...
Non hai detto che esiste anche un altro sorgente, ovvero operator.cpp ...
types.h è solo questo
poi ho
stringhe.h
stringhe.cpp
queste nn le linka
why?
come dico che esiste un altro sorgente?
help
grassie![]()
Devi indicare nella linea di comando tutti i .cpp
(quando non sei convinto, dai un'occhiata all'help, in questo caso all'help del comando g++)