C++ 我是否错误地使用了 void 函数?

C++ Am I using void functions incorrectly?

错误:

所有这些错误都在这一行找到:

    //ClassPractice.cpp
    void tellStats(pick);

调用...

    //Functions.h
    void tellStats(string);

定义为...

    //Functions.cpp
        void tellStats(string choice)
    {
        if (choice == "wizard")
            {
            cout << "These are the Wizard's stats:" << endl;
            cout << "Max HP: 80\nSpeed: 7\nAttack: 10" << endl;
            }
    }

我不明白为什么会出现这些错误。我不知道为什么 int 甚至与错误有关。我在这些代码部分中没有看到任何引用 int 的内容。我以为我使用 'void' 是正确的,因为我不想 return 函数的值。

您不能调用 return 类型的函数。不要说:

void tellStats(pick);

只需使用 tellStats(pick);

那条线是你调用 tellStats 的唯一地方吗?

int 是一条红鲱鱼。由于历史原因,编译器在内部经常在缺少类型时替换 int 。这通常不应该发生,但在这里您看到了这一点,因为编译器试图在第一个错误后继续。编译器错误地猜测您想要定义类型为 voidint 的变量 tellStats 并使用字符串初始化该变量。