📜  错误:带有值的返回语句,在函数返回'void'[-fpermissive]返回0; ^ (1)

📅  最后修改于: 2023-12-03 14:58:15.616000             🧑  作者: Mango

错误:带有值的返回语句,在函数返回'void'[-fpermissive]返回0; ^

这个错误通常是由于在函数返回类型为 void 的情况下,却使用了带有返回值的 return 语句导致的。

例如:

void printHello() {
    return "Hello world!"; // 错误:函数返回类型为void,但使用了带有返回值的return语句
}

在上述的代码中,函数 printHello 的返回类型是 void,即不带返回值。但是,在函数体中使用了带返回值的 return 语句,会导致编译器给出上述的错误提示。

要解决这个错误,可以将 return 语句改为不带返回值的形式,比如改成 return;

void printHello() {
    std::cout << "Hello world!";
    return; // 正确形式的返回语句
}

注意:如果函数的返回类型不是 void,则需要在 return 语句中返回对应类型的值,否则也会导致编译错误。