undefined reference to `Scrittura::creaScritta(char*, int)'

Hi,
i have a warning and two errors with the following code:

- warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
- undefined reference to `Scrittura::creaScritta(char*, int)'
- undefined reference to `Scrittura::scriviCentrato(Scrittura::Scritta)'

i use codeblocks 13.12

I hope someone can help to solve it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// main
#include "Scrittura.h"
#include <iostream>

using namespace std;
using namespace Scrittura;

int main()
{
    scriviCentrato(creaScritta("Ciao mondo!", 12));
    scriviCentrato(creaScritta("Stiamo scrivendo centrato", 26));

    return 0;
}

//.h
#ifndef SCRITTURA_H
#define SCRITTURA_H


namespace Scrittura
{
    const int MAX_COLONNE=80;           // NUMERO MASSIMO COLONNE

    struct Scritta
    {
        char* testo;
        int lunghezza;
    };

    Scritta creaScritta(char*, int);    // INIZIALIZZA NUOVA SCRITTA
    void scriviCentrato(Scritta);       // CENTRA SCRITTA
};

#endif // SCRITTURA_H

//.cpp
#include "Scrittura.h"
#include<iostream>

namespace Scrittura
{
    Scritta creaScritta(char* testo, int lunghezza)
    {
        Scritta risultato;
        risultato.testo=testo;
        risultato.lunghezza=lunghezza;

        return risultato;
    }

void scriviCentrato(Scritta scritta)
{
    // AGGIUNGE GLI SPAZI NECESSARI PER LA CENTRATURA
    for(int i=0; i<(MAX_COLONNE - scritta.lunghezza - 1)/2; i++)
        cout << "";

    cout << scritta.testo;
}

};


Thank you in advance
Last edited on
It should work. Did you add the .cpp properly to the project?
The file 'Scrittura.cpp' must appear in the 'Sources' folder in the 'Workspace'
yes, there is
i reuploaded the image

have you tryed if the program runs?

PS in edit

I tryed to build & run the program again and now i don't have errors....the program works
don't know why :(((((((((((
Last edited on
Topic archived. No new replies allowed.