相关疑难解决方法(0)

g ++编译器中的"未初始化使用"警告

我正在使用带有警告级别的g ++ -Wall -Wextra并将警告视为错误(-Werror).

现在我有时会收到错误" 变量可能在此函数中未初始化".

"有时"我的意思是我有两个独立的编译单元,它们都包含相同的头文件.一个编译单元编译没有错误,另一个编译单元给出上述错误.

头文件中的相关代码如下.由于功能很长,我只复制了下面的相关位.

确切的错误是:

'cmpres'可以在此函数中未初始化使用

我在*下面用错误标记了这一行.

for (; ;) {
    int cmpres; // *
    while (b <= c and (cmpres = cmp(b, pivot)) <= 0) {
        if (cmpres == 0)
            ::std::iter_swap(a++, b);
        ++b;
    }
    while (c >= b and (cmpres = cmp(c, pivot)) >= 0) {
        if (cmpres == 0)
            ::std::iter_swap(d--, c);
        --c;
    }
    if (b > c) break;
    ::std::iter_swap(b++, c--);
}
Run Code Online (Sandbox Code Playgroud)

(cmp是一个算符,它有两个指针xy与返回-1,0或1,如果 …

c++ warnings initialization g++

8
推荐指数
1
解决办法
4563
查看次数

标签 统计

c++ ×1

g++ ×1

initialization ×1

warnings ×1