const关键字能否放函数前面
40 | const abc(void)| ~~~~~ ^
| int
1 error generated.
这么做报错
你遇到的错误信息表明代码中存在语法问题。具体来说,你试图用 const 修饰符声明一个函数 abc,但语法使用不正确。
在 C 或 C++ 中,const 修饰符不能像你写的那样直接用于函数声明。const 通常用于表示变量或指针是不可修改的,或者用于指定成员函数不会修改调用它的对象。
正确的函数声明
如果你想声明一个返回 int 类型且没有参数的函数 abc,应该这样写:
int abc(void);如果你是想用 const 修饰函数的返回值或参数,需要调整语法。例如:
返回常量整数的函数:
const int abc(void);// 返回一个常量整数经过测试这样做真的可以无错误,无警告
const int abc(void)
{
return 0;
}int可以换成void吗?
const void abc(void)
{
}
main.c:40:15: warning: function cannot return qualified void type 'const void' [-Wqualified-void-return-type]
40 | const void abc(void)
| ^
1 warning generated.
看来不能,现在搞懂了。
看明白了,原来const只能存储常量。 const 是个好用的关键字。 看了一下,这种函数好像没什么实际意义。 具体来说,你试图用 const 修饰符声明一个函数 abc,但语法使用不正确。 C语言中的 const 关键字通常用于修饰变量,表示该变量的值是不可修改的。 void 是一种特殊的类型,表示没有类型,也就是说没有实际的值可以存储或修改。
页:
[1]