默认参数的重新定义:参数2

问题描述 投票:0回答:1

头文件:

#pragma once

#include <string>
using namespace std;

class Paths
{
private:

public:
    Paths();

    string Image(string key, string extension = "png");
    string Font(string key, string extensino = "TTF");
};

CPP文件:

#include "Paths.hpp"

Paths::Paths()
{

}

string Paths::Image(string key = "nullImage", string extension = "png")
{
    return "data/images/" + key + "." + extension;
}

string Paths::Font(string key = "NULLFONT", string extension = "TTF")
{
    return "data/fonts/" + key + "." + extension;
}

对于我的程序,我想简化图像、字体(等)路径。 对于我的 2 个字符串空隙,visual studio 说:“默认参数的重新定义:参数 2”。谁能解释这意味着什么以及我如何修复我的代码?

c++ class sfml
1个回答
0
投票

您多次定义默认参数。执行以下操作:

标题:

#pragma once

#include <string>
using namespace std;

class Paths
{
private:

public:
    Paths();

    string Image(string key, string extension = "png");
    string Font(string key, string extensino = "TTF");
};

Cpp:

#include "Paths.hpp"

Paths::Paths()
{

}

string Paths::Image(string key, string extension)
{
    return "data/images/" + key + "." + extension;
}

string Paths::Font(string key, string extension)
{
    return "data/fonts/" + key + "." + extension;
}

© www.soinside.com 2019 - 2024. All rights reserved.