为什么我的编译器卡在Octal中?

时间:2013-12-14 22:56:34

标签: c++ iostream

我写了一个试验dec,hex和oct,输出和输入的程序。 然后我删除了所有内容,并在同一个项目中编写了这段代码。编译器不断给我一个 main()中手机的错误,表示无效的八进制数字。所以我将代码复制到Notepad ++中,然后重新启动并在MS visual C ++ 2010中创建了一个新的投影,然后将代码粘贴回来,它仍然给我错误。问题是什么?

 //main.cpp******************************************************************************
#include "lib.h"

struct table
{
    table(string firstName, string lastName, long int phone, string email)
        :firstName(firstName), lastName(lastName), phone(phone), email(email)
    {}

string firstName;
string lastName;
long int phone;
string email;
};


//****************************************************************************


int main()
{

vector<table> details;

cout<<dec;//I thought maybe this would convert back to dec

details.push_back(table("bill","bryson",05289994590, 
    "billb0998@gmail.com"));

    keep_window_open();

}

//******************************************************************************

1 个答案:

答案 0 :(得分:5)

由于领先05289994590,文字0是八进制文字。如果你想要一个十进制文字,拼写为5289994590,虽然电话号码应该以其他形式存储,例如字符串。

这与iostream库格式无关。相反,这是C ++语法的一部分。