iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C奇怪的编译错误:错误:从“对象”类改变“对象”的含义大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我甚至不知道该去哪里.谷歌不是很有帮助.和我之前的问题一样.我正在使用TextMate的Command R来编译项目. game.h:16:error: declaration of ‘Player* HalfSet::Player() const’ players.h:11:error: changes meaning of ‘Player’ from ‘class Player’ game.h
我甚至不知道该去哪里.谷歌不是很有帮助.和我之前的问题一样.我正在使用TextMate的Command R来编译项目.

player.h文件(部分)

#ifndef PLAYERS_H
#define PLAYERS_H
using namespace std;

#include <String>
#include <vector>
#include <istream>
#include <iomanip>
#include "generics.h"

class Player{ //Line 11
public:
    //getters
    long Id() const;
    String FirstName() const;
    String LastName() const;
    String Country() const;
    //setters
    void setId(long id);
    void setFirstName(String s);
    void setLastName(String s);
    void setCountry(String s);
    //serializing functions
    void display(ostream &out);
    void read(istream &in);
    void write(ostream &out);
    //Initalizers
    Player();
    Player(istream &in);
    Player(String firstName,String lastName);
    Player(String firstName,String lastName,String country);
    Player(long id,String firstName,String country);
    ~Player();
private:
    long _id;
    String _firstName;
    String _lastName;
    String _country;
};

game.h文件(部分)

#ifndef GAME_H
#define GAME_H

#include "generics.h"
#include "players.h"
#include <String>
#include <vector>
#include <istream>
#include <iomanip>

using namespace std;

class HalfSet{
public:
    //getters
    Player* Player() const; //Line 16
    int GamesWon() const;
    int @R_623_10586@lPoints() const;
    int Errors() const;
    //setters
    void setPlayer(Player* p);
    void setGamesWon(int games);
    void set@R_623_10586@lPoints(int points);
    void setErrors(int errors);
    //serialization
    void display(ostream &out) const;
    void read(istream &in) const;
    void write(ostream &out) const;
    //Initalizers
    HalfSet();
    ~HalfSet();
private:
    Player* _player;
    int _gamesWon;
    int _points;
    int _errors;
};

这里发生了什么?

@R_301_1964@@H_618_35@
在C中,您不能将函数命名为类/ struct / typedef.你有一个名为“Player”的类,所以HalfSet类有一个名为“Player”(“Player * Player()”)的函数.您需要重命名其中一个(可能将HalfSet的Player()更改为getPlayer()或其他).

大佬总结

以上是大佬教程为你收集整理的C奇怪的编译错误:错误:从“对象”类改变“对象”的含义全部内容,希望文章能够帮你解决C奇怪的编译错误:错误:从“对象”类改变“对象”的含义所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。