c++ - GCC - 结构内未使用的变量警告

标签 c++ gcc c++14

我正在寻找一种解决方案,当分配为结构的一部分时,GCC(Arm 嵌入式版本)能够告诉我变量是否根本不存在。

目前的例子根本没有警告,我想改变一下。

示例 1:

示例 1 有 3 个来自结构的变量: var1:已分配但从未在其他地方引用,因此我想将其删除 var2:甚至没有分配,在这里浪费 ram 没有意义,将其删除 返回:已分配并引用,一切正常。

因此我想在这里收到 2 个警告。

struct mydummy_t
{
    bool var1;
    bool var2;
    int return;
};

static mydummy_t dummy;

int main()
{
    dummy.var1 = true;
    dummy.return = 15;
    return dummy.return;
}

示例 2:

与示例一相同,但现在我们有一个类构造函数,它最初处理每个变量,但同样,并非所有变量都被引用。

struct mydummy_t
{
    mydummy_t() : var1(false), var2(true), return(-1) {}
    bool var1;
    bool var2;
    int return;
};

static mydummy_t dummy;

int main()
{
    dummy.var1 = true;
    dummy.return = 15;
    return dummy.return;
}

最佳答案

你对编译器的要求太多了。如何知道此结构未在其他可能引用任何或所有这些成员的编译单元中使用? (此外,return 是 C++ 中的保留字。)

关于c++ - GCC - 结构内未使用的变量警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59092620/

相关文章:

c++ - 使用 shared_ptr 避免循环包含

c++ - 用于后续计算机视觉处理的屏幕捕获

c - 如何找到程序执行期间使用的库?

c++ - gcc7.3 和 gcc9.3 之间 filesystem::path(filePath).filename() 的不同行为

c++ - g++ 和 clang++ 变量模板和 SFINAE 的不同行为

c++ - 使用策略模式设计软件的问题

c++ - 如何根据命中的另一个断点添加条件中断?视觉C++

c - x86_64-pc-cygwin gcc编译错误

c++ - 本地构建工作正常时没有这样的文件或目录

c++ - 如何解压空的可变参数模板列表