【发布时间】:2012-03-13 11:03:24
【问题描述】:
我遇到了 strcmp 问题。
这是我的代码。
while (strcmp("m",wood) !=0 || strcmp("j",wood) !=0 || strcmp("o",wood) !=0){
cout << "(m for mahogany, o for oak, or p for pine): ";
cin >> wood;
}
这是我的错误:
dining.cpp: In member function ‘void DiningSet::woodType()’:
dining.cpp:76:24: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
/usr/include/string.h:143:12: error: initialising argument 2 of ‘int strcmp(const char*, const char*)’ [-fpermissive]
dining.cpp:76:48: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
/usr/include/string.h:143:12: error: initialising argument 2 of ‘int strcmp(const char*, const char*)’ [-fpermissive]
dining.cpp:76:72: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
/usr/include/string.h:143:12: error: initialising argument 2 of ‘int strcmp(const char*, const char*)’ [-fpermissive]
【问题讨论】:
-
如果你想比较两个
char就用==或!=,如果你想比较两个字符串(char *)那么用strcmp。将单个字符与字符串进行比较没有任何意义,这就是您似乎正在做的事情。 -
wood 的数据类型是什么..??