我在代码中遇到了一个非常不寻常的问题。 struct
必须能够访问其自身的实例。
代码的相关部分:
struct crtr {
char f;
void foo() {
for(int i=0; i<creatures[f].size(); i++) {/*code that accesses creatures[f][i]*/}
}
};
vector<crtr> creatures[10];
当然,这远远不能满足要求-crtr.foo()
需要creatures
,而creatures
需要crtr
。是否有某种方法可以在creatures
之前初始化crtr
,也许可以更改vector
的数据类型? (如果可能,最好使用最少的指针)
答案 0 :(得分:1)
我一定很想念东西,这是怎么回事?
struct crtr {
char f;
void foo();
};
vector<crtr> creatures[10];
void crtr::foo() {
for(int i=0; i<creatures[f].size(); i++) {/*code that accesses creatures[f][i]*/}
}
如果需要,crtr::foo
也可以内联。
答案 1 :(得分:1)
使用结构的前向声明:
Error CodeScriptFailed
Script Nameaws/validateService.sh
MessageScript at specified location: aws/validateService.sh failed with exit code 4
Log TailLifecycleEvent - ValidateService
Script - aws/validateService.sh
[stderr]--2018-07-27 20:23:12-- http://localhost:8081/
[stderr]Resolving localhost (localhost)... 127.0.0.1
[stderr]Connecting to localhost (localhost)|127.0.0.1|:8081... failed: Connection refused.