Switching a Statement with a Char Array

Question:
I can’t seem to get the switch statement to work with chars.For example:

#include char answer[2];void main(){	cout << "Enter your answer: ";	cin >> answer;	switch(answer)	{	case 'a' : cout << "blah"; 		break;	case 'b' : cout << "blah blah";		break;	case 'c' : cout << "blah blah blah";		break;	case 'd' : cout << "blah blah blah blah";		break;	}}

Trying to compile this would give me an error saying that the “switch expression of type ‘char [2]’ is illegal” and that it requires an “integral expression”.

Answer:
Your compiler is trying to tell you that you can’t use an array (or any other non-integral data type) in a switch statement. Either change your declaration of the variable answer to:

  char answer; // a single char 

Or, if you need an array, use if statements instead of a switch.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: