我查看了多个线程,但它们要么是完全不同的问题,要么是人们不知道如何创建构造函数。我在标题中得到了第一个标题错误,在cpp文件本身中出现了第二个错误。
MenuItem.h
#include "SFML/Graphics.hpp"
#include <string>
#ifndef MENUITEM_H
#define MENUITEM_H
class MenuItem
{
public:
//Below constructor creates the first error
MenuItem(string textIn="", float x, float y, bool highlightedDefault=false);
bool highlighted;
sf::Text text;
};
#endif // MENUITEM_H
MenuItem.cpp
#include "MenuItem.h"
MenuItem::MenuItem(string textIn, float x, float y, bool highlightedDefault)
{
...
}
答案 0 :(得分:0)
像Neil Butterworth所说,您需要std::string textin
,您还需要更改参数的位置。像这样:
class MenuItem
{
public:
//Below constructor creates the first error
MenuItem(float x, float y,std::string textIn="", bool highlightedDefault=false);
bool highlighted;
sf::Text text;
};
MenuItem::MenuItem(float x, float y, std::string textIn, bool highlightedDefault)
{
....
}
默认值从右到左。