编译不了

P2922 [USACO08DEC] Secret Message G

``` TEST_.cpp: In member function 'void Trie::Insert()': TEST_.cpp:17:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<x.size();i++) ^ TEST_.cpp: In member function 'int Trie::Query()': TEST_.cpp:33:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<x.size();i++) ^ ```
by OvOAuto @ 2019-02-21 20:53:17


所以,是code沦丧
by OvOAuto @ 2019-02-21 20:54:59


不知道是不是我电脑的问题,过了两分钟cmd才出来
by OvOAuto @ 2019-02-21 20:55:30


可以编译呀
by Erusel @ 2019-02-21 20:57:00


![23333](https://cdn.luogu.com.cn/upload/pic/52414.png )
by Erusel @ 2019-02-21 21:00:10


我这边用Dev-C++编了$101.05s$才编好 然后我找到问题了 有这样一段代码: ```cpp struct node { int next[2]={-1,-1}; int End=0,Pass=0; }T[3001000]; ``` ~~我查了一下百度~~在结构体中设置初始值是ISO-C++11开始才有的标准,但是不能设置太多,如果太多就会像打表打太多一样会卡编译。应该另写一个初始化函数Init()来完成这个步骤: ```cpp void Init() { Len=1; for(int i=0;i<3001000;i++) { T[i].next[0]=T[i].next[1]=-1; T[i].End=T[i].Pass=0; } } ``` 然而并不是Code的沦丧$\cdots$
by LightningUZ @ 2019-02-21 21:03:23


|