好吧..我是初学者,因此需要帮助解决这个错误。 任何帮助都非常感谢:)
#include<iostream>
class Parardha
{
private:
char name[20];
int mobile[11];
public:
void ask()
{
std::cout<<"Your Name Please! :";
std::cin >> name;
std::cout<<"Aapka Phone No. : ";
std::cin>> mobile;
}
void print()
{
std::cout<<"Your Name is";
std::cout<<name<< std::endl;
std::cout<<"Aur aapka mobile number hai";
std::cout<<mobile<< std::endl;
}
};
int main()
{
Parardha rocks;
rocks.ask();
rocks.print();
}
我从我的指南中试过这个,我似乎对C ++ 11一无所知!
答案 0 :(得分:0)
正如Joachim Pileborg在评论中所说,mobile
是整数数组,而不是一个可以容纳11位数的整数。
问题出在这里
int mobile[11];
替换为
int mobile;
可能正在查看数组教程将有助于了解它们的工作原理。 http://www.cplusplus.com/doc/tutorial/arrays/
由于您还希望电话号码中只有11位数,因此您可以将移动设备存储到字符串中,然后将其转换为int。 像这样的东西
private:
std::string name; <-- see difference here
std::string mobile; <-- see difference here
public:
void ask()
{
//your code
}
void print()
{
std::cout<<"Your Name is";
std::cout<<name<< std::endl;
std::cout<<"Aur aapka mobile number hai";
std::istringstream sstream(mobile);
int cellNum;
sstream >> cellNum;
std::cout<<cellNum<< std::endl;
}