首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无用的类型限定符”错误

“无用的类型限定符”错误
EN

Stack Overflow用户
提问于 2012-06-11 18:26:09
回答 6查看 2.3K关注 0票数 5

我用下面的代码得到了下面的错误。我试图找出谷歌的问题所在,但我没有找到任何有用的东西。

代码语言:javascript
复制
Compiling /home/tectu/projects/resources/chibios/ext/lcd/touchpad.c
In file included from /home/tectu/projects/resources/chibios/ext/lcd/touchpad.c:1:0:
/home/tectu/projects/resources/chibios/ext/lcd/touchpad.h:17:1: warning: useless type qualifier in empty declaration [enabled by default]

下面是来自touchpad.h的第12行到第17行的代码

代码语言:javascript
复制
volatile struct cal {
    float xm; 
    float ym; 
    float xn; 
    float yn; 
};

下面是我如何在touchpad.c中使用这个结构

代码语言:javascript
复制
static struct cal cal = { 
    1, 1, 0, 0  
};

有谁能给我指一下灯吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-06-11 18:29:11

你得到的不是一个错误,而是一个警告。

这适用于声明struct cal的方式:它本身不是易失性的;易失性只适用于具体的变量定义。

所以在static struct cal cal中,您的变量cal只是static,而不是volatile

从这个意义上说,正如警告所说,volatile声明是无用的。

票数 5
EN

Stack Overflow用户

发布于 2012-06-11 18:28:53

volatile作为限定符可以应用于结构的特定实例。

您正在将它应用于一个无用的类型,并且编译器正确地指出了它。

票数 7
EN

Stack Overflow用户

发布于 2012-06-11 18:30:09

volatile限定的是变量,而不是类型。

正在做什么:

代码语言:javascript
复制
static volatile struct cal {
    float xm; 
    float ym; 
    float xn; 
    float yn; 
} cal;

是合法的,也是合法的:

代码语言:javascript
复制
struct cal {
    float xm; 
    float ym; 
    float xn; 
    float yn; 
};

static volatile struct cal cal;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10978370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档