[英]error: cannot convert const string to const char* for argument 1 to size_t strlen(const char*)
我對C ++還是很陌生,對於這里發生的事情非常困惑。 錯誤是int len = strlen(strin);
。 任何建議如何解決此問題將不勝感激。
BigNum::BigNum(const std::string& strin)
{
digits = NULL;
int len = strlen(strin);
if (len == 0)
{
BigNum zero;
*this = zero;
return;
}
used = len;
positive = true;
int i = 0;
if(strin[i] == '-')
{
positive = false;
i = 1;
used--;
}
else if(strin[i] == '+')
{
i = 1;
used--;
}
capacity = double_up_default(used);
digits = new unsigned int[capacity];
for(unsigned int k = 0; k < used; ++k)
{
digits[used - k - 1] = strin[i++] - '0';
}
trim();
}
strlen
對std::string
一無所知。 它是一個C函數,該函數返回以null結尾的字符串的長度。
幸運的是std::string
知道自己的長度。 嘗試以下方法:
int len = strin.size();
或者,如果您擔心字符串的大小范圍,
std::string::size_type len = strin.size();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.