问题是关于普通的c函数,而不是注释中阐明的c ++ static
方法。
我知道什么是static
变量,但是什么是static
函数?
为什么要声明一个函数,void print_matrix
比如说a.c
(WITHOUT a.h
)并包含"a.c"
-我得到了"print_matrix@@....) already defined in a.obj"
,但是如果我声明了它,static void print_matrix
那么它将被编译吗?
更新只是为了澄清问题-.c
正如许多人所指出的那样,我知道其中的内容是不好的。我只是暂时清除空间,main.c
直到更好地了解如何将所有这些功能分为适当的文件.h
和.c
文件。只是一个临时的快速解决方案。
static
函数是仅对同一文件(更确切地说是同一个翻译单元)中的其他函数可见的函数。
编辑:对于那些认为,问题的作者意味着“类方法”:当问题被标记时,C
他意味着一个普通的旧C函数。对于(C ++ / Java / ...)类方法,static
意味着可以在类本身上调用此方法,而无需该类的实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句