1
в основном то, что я хочу сделать, написано в коде. так, есть ли способ с шаблонами или с чем-то другим получить имя внешнего класса в глобальной функции? есть ли способ заставить этот код работать?Как получить внешнее имя класса из внутреннего enum
#include <iostream>
class A
{
public:
enum class B
{
val1,
val2
};
typedef B InnerEnum;
static void f(InnerEnum val)
{
std::cout << static_cast<int>(val);
}
};
template <typename T1>
void f(typename T1::InnerEnum val)
{
T1::f(val);
}
int main()
{
A::InnerEnum v = A::InnerEnum::val1;
f(v);
return 0;
}
в основном называют это нравится: 'е (V);' – Melkon
спасибо для ответа. Но идея состоит в том, чтобы избежать использования имени внешнего класса – zapredelom
Ох, я не уверен, что это возможно, но вы можете ввести внешний класс во внутренний класс. Я думаю, это должно сработать. (не с enum tho) – Melkon