声明类对象加括号与声明指针对象加括号的问题
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了声明类对象加括号与声明指针对象加括号的问题相关的知识,希望对你有一定的参考价值。
有的时候我们会在代码里看到这样的声明:
Test a(); //class
char* b(); //ptr
有时候你会看到它出现在作用域里
int main()
Test a();
char* b();
return 0;
大家不要被它的表面迷惑,其实这就是一个函数声明,在c99的编译器里是不允许这么写的,其实完整的写法应该是:
extern Test a();
extern char* b();
只是随着编译器的迭代,逐渐对写法不在有那么多规范的限制,这种写法是不规范的,这样的写法实际上就是声明一个函数而已,并且告诉编译器定义在别的文件中,并且随着编译器的提升你可以不加"extern",编译器会自动去别的文件寻同原型的函数定义并调用它。
以上是关于声明类对象加括号与声明指针对象加括号的问题的主要内容,如果未能解决你的问题,请参考以下文章