Visit Our UNIX and Linux User Community


error: invalid conversion from ‘const char*’ to ‘char*’


 
Thread Tools Search this Thread
Top Forums Programming error: invalid conversion from ‘const char*’ to ‘char*’
# 1  
Old 06-09-2011
error: invalid conversion from ‘const char*’ to ‘char*’

Compiling xpp (The X Printing Panel) on SL6 (RHEL6 essentially):
Code:
xpp.cxx: In constructor ‘printFiles::printFiles(int, char**, int&)’:
xpp.cxx:200: error: invalid conversion from ‘const char*’ to ‘char*’

The same error with all c++ constructors - gcc 4.4.4.

If anyone can throw any light on this it would be very much appreciated - I'm after getting BitBox[1] up and running and it won't run without xpp.
[1] Free 'Browser in a Box' Runs Firefox 4 with Ultra Security | PCWorld Business Center
# 2  
Old 06-09-2011
Casting the expression on the right side of the equals sign should take care of this.
# 3  
Old 06-09-2011
Keep in mind that the code might still have to abide by the const-ness even after you typecast it. Typecasting a "string" to char * won't stop the program from crashing when you try to modify it.
# 4  
Old 06-09-2011
Not if it's cast from char* to const char* but the other way around...sure!
# 5  
Old 06-09-2011
The function prototype:
Code:
printFiles::printFiles(int  argc,         /* I - Number of command-line arguments */
                          char *argv[],      /* I - Command-line arguments */
                          int &exitstat);    /* O - != 0 if an error occurred */

I was working on the basis it was probably something to do with the version of gcc in use - however compat libs and gcc3 do not seem to fix it.
# 6  
Old 06-09-2011
Quote:
Originally Posted by shamrock
Not if it's cast from char* to const char* but the other way around...sure!
Code:
xpp.cxx:200: error: invalid conversion from ‘const char*’ to ‘char*’

Like shamrock says you may need to modify something to fix it. Since you haven't posted line 200 (and a bit of context) we don't know exactly what's making it throw up though.
# 7  
Old 06-09-2011
OK, I was thinking the error was in the function prototype, after all that was what was given, however it is further down (rusty!):
Code:
              {
              char *tmp; 

              if ((tmp = strchr(dest,'/'))) {
                tmp[0] = '\0';
                instance = tmp + 1;
              }

Specifically the tmp assignment.

The phenomena is explained here by the looks... GCC 4.4 Release Series — Porting to the New Tools

Previous Thread | Next Thread
Test Your Knowledge in Computers #238
Difficulty: Easy
Steve Jobs was the first to build a theoretical model for communication using packet switching.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

Bool vs char * conversion

I have a problem at make step to install a downloaded package consisted of different programs. In file included from kcdbext.cc:16:0: kcdbext.h: In member function �char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)’: kcdbext.h:1281:14: error: cannot convert �bool’ to... (3 Replies)
Discussion started by: yifangt
3 Replies

2. Programming

Invalid conversion from char* to char

Pointers are seeming to get the best of me and I get that error in my program. Here is the code #include <stdio.h> #include <stdlib.h> #include <string.h> #define REPORTHEADING1 " Employee Pay Hours Gross Tax Net\n" #define REPORTHEADING2 " Name ... (1 Reply)
Discussion started by: Plum
1 Replies

3. Shell Programming and Scripting

awk script throws invalid char expression

Hello there, I am new to the awk scripting and getting the following error while running the script. Please can you advise me how to resolve this . Thanks ./sub_del_awk_lat.sh awk: cmd. line:5: warning: escape sequence `\/' treated as plain `/' awk: cmd. line:5: sed -n... (6 Replies)
Discussion started by: Sudhakar333
6 Replies

4. Programming

Double to const char conversion

Dear all, I am using C and ROOT for programming. And I need to incorporate following in my code. char *fps=NULL; int dec=0,sign=0; float mean = h1->GetMean(1); //0.001298 fps= fcvt(mean,6 , &dec, &sign); I need to provide this mean as const char to some other function to get... (8 Replies)
Discussion started by: emily
8 Replies

5. Programming

Using const char*

I am writing some code in C++ to print a message using fprintf Here is an example void pr_desc( FILE* stream, int shift, const char* desc) { const char* format="%*s\e; fprintf(stream,format,shift,"",desc); } I call it using const char* desc; ... (4 Replies)
Discussion started by: kristinu
4 Replies

6. Programming

concat const char * with char *

hello everybody! i have aproblem! i dont know how to concatenate const char* with char const char *buffer; char *b; sprintf(b,"result.txt"); strcat(buffer,b); thanx in advance (4 Replies)
Discussion started by: nicos
4 Replies

7. Shell Programming and Scripting

awk "Invalid char ' in expession" error

I have an HP PPM (ITG) application that is running an awk command in cygwin bash shell as part of ITG process moving SAP transports on a Windows 2003 server. The awk command checks the first two characters of a file containing return code that was retrieved from the SAP server. It is throwing the... (3 Replies)
Discussion started by: accsam1
3 Replies

8. UNIX for Dummies Questions & Answers

int open(const char *pathname, int flags, mode_t mode) doubt...

hello everybody! I want to create a file with permissions for read, write, and execute to everybody using C, so I write this code: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main(){ int fileDescriptor; fileDescriptor =... (2 Replies)
Discussion started by: csnmgeek
2 Replies

9. Programming

diff b/w char const in C/C++

hi, what is the difference b/w char in C and C++.and give me the examples. Thanks... sarwan (3 Replies)
Discussion started by: sarwan
3 Replies

10. Programming

char to int64 conversion

Hi, I'm converting a C program that I made using the Visual Studio. I now use GCC (over Linux) and can't find some equivalences. I changed my __int64 definitions to unsigned long long, but can't find an equivalent to the microsoft i64toa() function, which let you convert a char* to a 64 bit... (1 Reply)
Discussion started by: Raspoutine
1 Replies

Featured Tech Videos