【发布时间】:2023-01-17 23:35:50
【问题描述】:
我需要帮助解决这个问题,我期待一个数字出来但得到这个错误
Line 65: Char 5: error: conflicting types for 'main' int main(int argc, char *argv[]) { ^ Line 47: Char 5: note: previous definition is here int main() ^ 1 error generated.
这是我的一些代码
class Solution {
public:
int value(char r){
if (r == 'I')
return 1;
if (r == 'V')
return 5;
if (r == 'X')
return 10;
if (r == 'L')
return 50;
if (r == 'C')
return 100;
if (r == 'D')
return 500;
if (r == 'M')
return 1000;
return -1;
}
int romanToInt(string& s) {
int ret = 0;
for (int i = 0; i < s.length(); i++) {
int s1 = value(s[i]);
if (i + 1 < s.length()) {
int s2 = value(s[i + 1]);
if (s1 >= s2) {
ret = ret + s1;
}
else {
ret = ret + s2 - s1;
i++;
}
}
else {
ret = ret + s1;
}
}
return ret;
}
};
int main()
{
Solution m;
string str = "III";
cout << "Integer form of Roman Numeral is " << m.romanToInt(str) << endl;
return 0;
}
我正在尝试使用一个指针数组,它逐个字母地读取行并识别函数 value() 中字母的值,我想我明白我的 main 需要不同的格式才能完成这项任务,但我我有点不知道该怎么做。
【问题讨论】:
-
要开始,您至少应该知道您正在使用哪种编程语言!
标签: string pointers integer roman-numerals