-3
이 제약 조건을 추가해야한다는 점을 제외하고는 코드가 제대로 작동합니다. "입력이 NULL이면 -1을 반환합니다".입력이 NULL 인 경우 -1을 반환합니다.
나는 이것을 어떻게 할 수 있는지 궁금합니다. 매번 NULL을 s에 넣으면 충돌이 발생합니다.
사이드 참고 : 당신이 알 필요가있는 경우,이 A = 1과 같은 숫자로 엑셀 타이틀을 변환, Z = 26 등 AA = 27, AB = 28,
#include <iostream>
using namespace std;
class CIS14
{
public:
int convertExcelTitleToNumber(string* s)
{
string str = *s;
int num = 0;
for (unsigned int i = 0; i < str.length(); i++)
{
num = num * 26 + str[i] - 64;
}
return num;
}
};
int main()
{
CIS14 cis14;
string s = "AA";
cout << cis14.convertExcelTitleToNumber(&s) << endl;
return 0;
}
왜 포인터를 사용하고 있습니까? 입력이'nullptr'이라면 뭔가 수행 할 함수가 있습니까? 참조를 취하고 호출자가'std :: string'을 전달하도록하십시오. – Tas
@ 택스, 당신의 조언은 훌륭합니다. 불행히도,'CIS14'는 수업 준비를 망칩니다. 그래서 현실적인 경험이 거의없는 일부 교육자가 요구할 수도 있고,'C +'프로그래머라고 부를 수도 있습니다. '~'C++':-) – paxdiablo