【发布时间】:2012-04-17 13:44:12
【问题描述】:
void searchFlight(cust flights[] ,int row)
{
clrscr();
cout << "Search for the flight you are looking for.\n";
string airport;
cout << "Enter Departing Flight : ";
cin >> airport; //error
for (int r=0;r<row;r++)
{
if (strnicmp(airport, flights[r].airport[20], strlen(airport) ==0) //error
{
clrscr();
cout << flights[r].name[20] <<endl;
cout << flights[r].airport[20] <<endl;
cout << flights[r].destination[20] <<endl;
cout << flights[r].ticket <<endl;
cout << flights[r].passangers <<endl;
cout << flights[r].opCost <<endl;
cout << flights[r].income <<endl;
cout << flights[r].netProfit <<endl;;
pressKey();
}
}
pressKey();
}
对于 cin 错误: 错误 C2678:二进制“>>”:未找到采用“std::istream”类型的左侧操作数的运算符(或没有可接受的转换)
对于 strnicmp 错误: 错误 C2664:“strlen”:无法将参数 1 从“std::string”转换为“const char *”
我已寻找解决此问题的方法,但无法解决。如果这里有类似的帖子可以解决我的问题,我们深表歉意。
【问题讨论】:
-
你包括“
”吗? -
您需要使用
std::string::length()来查找std::string 的长度。还要检查是否包含标题、 . -
确保您已添加
和 标头。并检查您是否添加了" using namespace std;"