错误解释

CompileError!

编译信息

main.cpp: In function \xe2\x80\x98void eval(const string&)\xe2\x80\x99:\nmain.cpp:12:23: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 12 | for (int i = 0; i < expr.size(); ) {\n | ~~^~~~~~~~~~~~~\nmain.cpp:21:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 21 | while (i < expr.size() && expr[i] != ' ') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:25:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 25 | while (i < expr.size() && expr[i] != ')') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:28:29: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98const size_type\xe2\x80\x99 {aka \xe2\x80\x98const long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 28 | if (pos == string::npos) pos = strings[n-1].size();\n | ~~~~^~~~~~~~~~~~~~~\nmain.cpp:38:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 38 | while (i < expr.size() && expr[i] != ' ') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:42:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 42 | while (i < expr.size() && expr[i] != ' ') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:46:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 46 | while (i < expr.size() && expr[i] != ')') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:55:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 55 | while (i < expr.size() && expr[i] != ' ') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:59:30: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 59 | while (i < expr.size() && expr[i] != ')') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:14:17: warning: unused variable \xe2\x80\x98val\xe2\x80\x99 [-Wunused-variable]\n 14 | int val;\n | ^~~\nmain.cpp:78:22: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 78 | while (i < expr.size() && expr[i] != ' ') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:82:22: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::__cxx11::basic_string<char>::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 82 | while (i < expr.size() && expr[i] != ')') i++;\n | ~~^~~~~~~~~~~~~\nmain.cpp:85:21: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98const size_type\xe2\x80\x99 {aka \xe2\x80\x98const long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 85 | if (pos == string::npos) pos = strings[n-1].size();\n | ~~~~^~~~~~~~~~~~~~~\nmain.cpp: In function \xe2\x80\x98int main()\xe2\x80\x99:\nmain.cpp:118:21: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98const size_type\xe2\x80\x99 {aka \xe2\x80\x98const long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 118 | if (pos == string::npos) pos = strings[N].size();\n | ~~~~^~~~~~~~~~~~~~~\nmain.cpp:126:13: error: \xe2\x80\x98reverse\xe2\x80\x99 was not declared in this scope; did you mean \xe2\x80\x98reversed\xe2\x80\x99?\n 126 | reverse(reversed.begin(), reversed.end());\n | ^~~~~~~\n | reversed\nmain.cpp:128:21: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98const size_type\xe2\x80\x99 {aka \xe2\x80\x98const long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 128 | if (pos == string::npos) pos = strings[N].size();\n | ~~~~^~~~~~~~~~~~~~~\nmain.cpp:147:31: warning: comparison of integer expressions of different signedness: \xe2\x80\x98int\xe2\x80\x99 and \xe2\x80\x98std::vector<std::__cxx11::basic_string<char> >::size_type\xe2\x80\x99 {aka \xe2\x80\x98long unsigned int\xe2\x80\x99} [-Wsign-compare]\n 147 | for (int i = 0; i < strings.size(); i++) {\n | ~~^~~~~~~~~~~~~~~~\n