在一个地方,我找到了以下代码:
a.h
struct foo {
...
}b.cpp
struct foo make_foo(){
...
}我已经检查过了,没有函数返回类型之前的'struct‘代码运行得很好。它的目的是什么?
谢谢,奥维
发布于 2014-02-18 09:54:38
在C代码中,需要struct来引用类型;foo是不够的。在C++中,它不是必需的,但不会中断。
这就是为什么您经常会看到C代码编写类似于:
typedef struct foo
{
} foo;
// This now works - foo is a complete type defined to be struct foo
foo make_foo()
{
}发布于 2014-02-18 09:54:23
这是C的残局。它在C++中是多余的,但是它仍然为了向后兼容性而编译。
https://stackoverflow.com/questions/21849931
复制相似问题