C++ invalid conversion from const char* to char when assigning string to char variable

  • Thread starter Thread starter Zurtex
  • Start date Start date
  • Tags Tags
    C++
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 2K views
Science Advisor
Homework Helper
Messages
1,118
Reaction score
1
Just been introduced to the world of C++ as I'm taking a course on it in my maths degree. We are asked to write a simple program that takes in 3 numbers, sorts them in terms of order and then outputs them.

Not going to type my full program as that would probably be a waste of your time but here are the two important lines I am stuck on:

char qualifier1;
...
qualifier1 = "=";

And I'm getting the error when I try to compile this:

invalid conversion from `const char*' to `char'

Can anyone help me please, I'm not sure what this means and I am struggling to fix it.
 
Physics news on Phys.org
i believe the correct syntax for a single char is ' ' not " "...if i remember correctly " " denotes strings...and thus your error is saying
cannot convert const char* "=" (string) to a char (single char qualifier)
 
Using double quotes ("") in C and C++ returns a constant character pointer which points to a null-terminated string in the static section of memory. So if you write char* ptr = "dog"; you get ptr pointing to a character array consisting of 'd', 'o', 'g', and '\0', the null terminator.

What you're looking to do is use single quotes. When you type "=", you get the C-string "=". What you want to do is '=', with single quotes. This returns a plain character.

Edit: whoops too late
 
neurocomp2003 said:
i believe the correct syntax for a single char is ' ' not " "...if i remember correctly " " denotes strings...and thus your error is saying
cannot convert const char* "=" (string) to a char (single char qualifier)
Thanks :biggrin: