*2 之前的解析错误

parse error before '' *2

本文关键字:错误      更新时间:2023-10-16

下面是代码

#include <iostream>
#include <string>
#include "char.h"
#include "user.h"
bool user::readYN (string ans)
{
    ans = tolower (ans);
    if (ans == "y" || ans == "yes")
    {
        return true;
    }
    else if (ans == "n" || ans == "no")
    {
        return false;
    }
    else 
    {
        std::cout<<playr.inputErr;
        return false;
    }
}

字符串ans是从我的main.cpp传递给它的,应该是yn来确认字符名称。然而,每当我试图编译这个,我得到错误

user.cpp:6:解析"{"之前的错误

user.cpp:8:解析"+"前的错误

我不知道它在哪里得到一个错误的{,我不知道它在哪里看到的是一个+(我的想法是平等的…也许? ?)我所有的其他代码都编译好了,我只想开始真正地构建东西。

编辑:根据请求,头文件如下

user.h

#ifndef user
#define user
#include<string>
class user
{
    public:
        string input;
        static string inputErr;
        bool readYN(string);
        void read(string);
}playr;
#endif

和char.h

#ifndef chara
#define chara
#include<string>
class charecter
{
    public:
        string name;
        bool yes;
        int HP;
        void nameMe(string);
}chara;
#endif

变化

bool user::readYN (string ans)

bool user::readYN (std::string ans)

问题解决。user.h中的定义与类声明相冲突。