简体   繁体   中英

deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

I compile the project in link: http://www.dis.uniroma1.it/challenge9/code/ch9-1.1.tar.gz When i compile file /solver/mlb-dimacs I got errors. Please help me!

g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -o sq.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_ss.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:103:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:112:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DMLB -DSINGLE_PAIR -o mbp.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_p2p.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:103:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:112:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DCHECKSUM -o sqC.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_ss.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:103:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:112:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DMLB -DCHECKSUM -DSINGLE_PAIR -o mbpC.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_p2p.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:103:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:112:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
le@le-Extensa-4630:~/Desktop/ch9-1.1/solvers/mlb-dimacs$ make
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -o sq.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_ss.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:114:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DMLB -DSINGLE_PAIR -o mbp.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_p2p.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:107:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:114:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DCHECKSUM -o sqC.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_ss.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:114:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
g++ -ansi -Wall -O6 -DNDEBUG -I../../lib -DMLB -DCHECKSUM -DSINGLE_PAIR -o mbpC.exe main.cc sp.cc smartq.cc parser_gr.cc timer.cc parser_p2p.cc -lm        
main.cc: In function ‘int main(int, char**)’:
main.cc:105:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:107:18: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
main.cc:114:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc: In function ‘int parse_gr(long int*, long int*, Node**, Arc**, long int*, char*)’:
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
parser_gr.cc:116:3: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

In C++, string literals has type const char [] (Note that this is different with C, in C string literals have type char [] for historical reasons.)

So you should change

static char *err_message[] = 
  { 
/* 0*/    "more than one problem line.",
/* 1*/    "wrong number of parameters in the problem line.",

to

static const char *err_message[] = 
  { 
/* 0*/    "more than one problem line.",
/* 1*/    "wrong number of parameters in the problem line.",

In main.cc, SZ_DIK_SMARTQ is a string literal, and szAlgorithm is of type char * , you can use const_cast like this:

szAlgorithm = const_cast<char *>(SZ_DIK_SMARTQ);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM