По сути, у меня есть связанный список, который реализует функцию display()
, которая просто перебирает элементы и выводит их значения.
Я хотел сделать это так:
void List::display( std::string type )
{
switch(type)
{
// Do stuff...
Компилятор сразу пожаловался. Мой учитель сказал, что это происходит потому, что строка не известна во время компиляции, что приводит к ошибке. Это объяснение звучит немного сомнительно, но он предложил мне использовать перечисления. Итак, я исследовал его, и он говорит, что явная строка для перечислений не работает. Что-то вроде
class List
{
enum type
{
HORIZONTAL = "inline"
VERTICAL = "normal"
}
а потом я действительно не знаю.
enum type
является частью класса List, а также функции display()
. Это снова выглядит как действительно дрянное решение. Тем не менее, я хочу знать, возможен ли такой подход.
Как я могу установить enum в основной функции в то же время, когда я вызываю display ()? Вот так
int main( void )
{
display("normal");
Конечно, более простые подходы приветствуются. В общем, как я могу объявить / передать перечисление в функцию, если это возможно?