我知道很多人之前都有这个错误,但是我刚开始用C++编程,所以我对大部分命令还没有确定。'reply'没有在此范围内声明C++
我想用下面的代码创建一个程序:
#include <iostream>
int main()
{
char input[7];
std::cout << "Enter your gender (male or female):";
std::cin.getline (input, 6);
if (input == "male")
char reply[] = "Mr";
else
char reply[] = "Mrs";
std::cout << "Hello " << reply << "!\n";
return 0;
}
现在,当我试图用我的编译器(G ++)编译此。我收到此错误:
StringTest.cpp: In function 'int main()':
StringTest.cpp: 16:26: error: 'reply' was not declared in this scope
请问您能告诉我究竟出了什么问题吗?我该如何尝试解决它?
谢谢 Xarlexus
@Xarlexus:你不能,至少没有直接。 'reply'的类型为'const char [3]'或'const char [4]';它不能同时成为两者。你可以使它成为一个const char *而不是一个数组(这意味着'sizeof reply'给你一个指针的大小,而不是数组的大小)。或者,由于您使用C++进行编程,因此可以使用'std :: string',它更健壮,更灵活。 – 2012-01-18 04:24:39
@KeithThompson,嗯,我认为我现在明白了如何回复不能同时是const char [3]和const char [4]。感谢回复。 – Xarlexus 2012-01-18 04:40:20