c++ assert用法
    C++中的`assert`是用于在调试期间打印错误消息的关键字。其语法如下:编译器错误
    ```c++
    void assertion_failed(const char* file, int line, const char* message);
    ```
    其中,`assertion_failed`是一个函数,它调用`std::exit()`函数来终止程序的运行。`file`、`line`和`message`分别是断言错误的文件名、行号和错误消息。
    `assert`语句的语法如下:
    ```c++
    assert(condition);
    ```
    其中,`condition`是需要验证的条件,如果`condition`为`false`,则`assert`语句会引发一个调试器错误,并在控制台上输出错误消息。
    以下是一个示例:
    ```c++
    #include <iostream>
    using namespace std;
    int main() {
    int x = 10;
    assert(x > 0);  // 验证条件
    cout << x << endl;
    return 0;
    }
    ```
    如果在运行期间输入`x`小于 0,那么程序将终止,并在控制台上输出以下错误消息:
    ```
    iostream:3:29: error: conversion from "int" to non-scalar type "const char*" disallowed with explicit conversion [-Werror,-Wimplicit-conversion]
    cout << x << endl;
    ^
    ```
    `-Werror`选项用于在编译时捕获错误,如果编译器输出了错误消息,则编译将失败。因此,我们应该尽可能使用`-Werror`选项来捕获所有错误。