c ++ visual studio错误,我很困惑

时间:2012-11-01 01:08:08

标签: c++ visual-studio-2010

我一直收到错误:发现了意外的文件结尾,我完全迷失了。我已经检查了咖喱括号和括号,我在课程结束时放了一个分号,我不知道它有什么问题。非常感谢。

#include<iostream>
#include<fstream>
#include<string>
using namespace std;



class operations{
    void checkout(){
        cout << "Check out here!!";
    }
}
void main(){
    string item;
    int choice;

    cout << "What do you want to do? " << endl;
    cout << "Press 1 for checking out " << endl;
    cout << "Press 2 for stocking " << endl;
    cout << "Press 3 looking at recipts " << endl;
    cin >> choice;
    cout << choice;

    if(choice == 1){
        void checkout();
    }
    /*ofstream myfile;
    myfile.open("inventory.txt");

    if(myfile.is_open()){
        cout << "Enter a grocery item" << endl;
        getline(cin,item);
        myfile << item;
    }
    cout << "Your grocery item is " << item;
    myfile.close();
    system("pause");*/
};

3 个答案:

答案 0 :(得分:2)

  1. 您的班级定义需要一个尾部分号,而不是您的主要功能。

    class operations{
        void checkout(){
            cout << "Check out here!!";
        }
    };
    
  2. “void main”错了。 main始终返回int

答案 1 :(得分:0)

这是您的代码,在我解释您想要执行的内容时进行了更正。

#include<iostream>
#include<fstream>
#include<string>

using namespace std;

class operations
{
    public:void checkout()
    {
        cout << "Check out here!!";
    }
};

int main()
{
    string item;
    int choice;
    operations op;

    cout << "What do you want to do? " << endl;
    cout << "Press 1 for checking out " << endl;
    cout << "Press 2 for stocking " << endl;
    cout << "Press 3 looking at recipts " << endl;
    cin >> choice;
    cout << choice;

    if(choice == 1)
    {
        op.checkout();
    }

    return 0;
}

首先,请注意在类声明之后需要分号,而在方法声明之后不需要分号

其次,请注意代码中的void checkout()不会调用您在类中定义的方法,而是声明一个不会执行任何操作的新方法。要调用权限void checkout(),您必须实例化operations类型的对象,然后使用op.checkout()

调用其方法

最后,如果执行流程正确到达程序的末尾,请始终声明int main()并放置return 0

作为旁注,我可能不会在您的程序中使用类,而只是在main()实现之前实现与用户选择相对应的方法

void checkout()
{
    cout << "Check out here!!";
}

这样您就可以使用

简单地调用它们
checkout()

答案 2 :(得分:-2)

我认为你应该将它添加到文件的顶部(将其作为第一行):

#include "stdafx.h"