在一个地方我找到了以下代码:
A.H
struct foo {
...
}
b.cpp
struct foo make_foo(){
...
}
我已经检查过,代码在函数返回类型之前没有'struct'就能很好地工作。它的目的是什么?
谢谢, Orwe
答案 0 :(得分:2)
在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()
{
}
答案 1 :(得分:1)
这是一个C残骸。它在C ++中是多余的,但它仍然为了向后兼容而编译。