如何调用后定义类的方法


class ArgumentsLexer
    {
    public:
        // 分析
        //
        // 命令参数的大小和本体指针
        static void lex(int argc, char** args, EnbInfo* info)
        {
            switch (argc)
            {
            case 1:
                Console::print_error("命令参数不包含0个参数。");
                break;

            case 2:

                break;
            }
        }
    };

    class Console
    {
    public:
        // 错误消息
        static void print_error(const char* format, ...)
        {
            printf(" 错误:");
            va_list v;
            va_start(v, format), vprintf(format, v), va_end(v);
            printf("\n");
        }
        // 警告消息
        static void print_warning(const char* format, ...)
        {
            printf(" 警告:");
            va_list v;
            va_start(v, format), vprintf(format, v), va_end(v);
            printf("\n");
        }
        // 消息
        static void print_info(const char* format, ...)
        {
            printf(" 消息:");
            va_list v;
            va_start(v, format), vprintf(format, v), va_end(v);
            printf("\n");
        }
        // 使用列表
        static void print_list()
        {

        }
    };

编译器说在lex函数中找不到Console::print_error方法,
请问一下如何解决啊?

先在第一个类前面声明console这个类

class Console 放到前面