Как задать синоним имени метода?

Есть класс, там определён шаблонный метод, как можно задать несколько синонимов этого метода с различными параметрами шаблона?

class CodeContainer {
public:
  template <class T>
  Code* AddCode(const std::string name, int code);

  Code* AddCodeInteger(const std::string name, int code) {
    return AddCode<int>(name, code);
  }
  Code* AddCodeFloat(const std::string name, int code) {
    return AddCode<double>(name, code);
  }
  Code* AddCodeString(const std::string name, int code) {
    return AddCode<std::string>(name, code);
  }
  Code* AddCodeBoolean(const std::string name, int code) {
    return AddCode<bool>(name, code);
  }
};

Ответы (1 шт):

Автор решения: ComeInRage

Не совсем понятна задача, в вашем коде шаблонный параметр нигде не используется. Если вы имеете ввиду специализацию шаблонов, то можно сделать так:

template <typename T, int size>
void print(StaticArray<T, size> &array)
{
    for (int count = 0; count < size; ++count)
    std::cout << array[count] << ' ';
}

template <> // Специализация шаблона
void print(StaticArray<char, 14> &array)
{
    for (int count = 0; count < 14; ++count)
    std::cout << array[count];
}

template <int size> // Частичная специализация шаблона
void print(StaticArray<char, size> &array)
{
    for (int count = 0; count < size; ++count)
    std::cout << array[count];
}
→ Ссылка