函数从C ++中的main()调用

时间:2014-04-15 17:08:16

标签: c++ visual-studio-2012 header-files main

我创建了一个名为Login_Class的类和该类的头文件。从main方法我调用一个在Login_Class中的函数。我的问题是,我得到2个错误,这些错误不让我编译这个简单的程序。由于我是c ++的新手,我不熟悉这些错误。

这是我的登录类实现

#include<iostream>
#include<stdio.h>
#include "stdafx.h"
#include <string>
#include "Login_Class.h"
using namespace std;

 string checkUserType(string userType)
        {
           if(userType=="Admin")
            {
                return "Administrator";
            }
            if(userType=="HR")
            {
                return "HR";
            }
            if(userType=="staff")
            { 
                return "staff";
            }
        }

这是Login_Class的头文件

#include "stdafx.h"
#include <string>
#ifndef Login_Class_h
#define Login_Class_h
using namespace std;

class Login_Class
{
public: 

string checkUserType(string userType);
};

#endif

这是我的主要方法代码

#include "stdafx.h"
#include"Login_Class.h"
#include <string>
#include <iostream>
using namespace std;


int main(){


    Login_Class log;
    string name=log.checkUserType("Admin"); //calling the function in the login_Class
    cout<<name<<endl;

         }

以下是我得到的错误

enter image description here

我在这里做错了什么?

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

您是否尝试过更改:

string checkUserType(string userType)

string Login_Class::checkUserType(string userType)

答案 1 :(得分:0)

我认为include guards会有所帮助。在头文件中创建follownig预处理器块:

#ifndef _H_LOGIN_CLASS
#define _H_LOGIN_CLASS

////yourcode...




#endif 

包含防护措施可防止在比赛期间多次读取同一文件。并且还提高了编译速度。