c++编译旧项目

当然是自己的.出现了,很多问题.主要问题就是不能转成串&.也就是说生成的要单独写个串 a=F(...),再调用f(..,a,..).折腾!
编译过了.然后就是运行.一下就出来一个大小不匹配.
这真是,一直找.C++的提示太少,你根本不知道,是哪个函数调用了这个断定,然后抛异常.
还有就是,串规则,不知道怎么搞错了.要改掉.
然后就是找是哪个函数调用的的断定.这才是最难的.一堆文件.你不知道哪个调用的,而且这个函数还是较新写的.但重新编译后,又调用了它.
也就是,某个依赖的文件,在最近修改了它.
然后,因为只打印了初化一行.
然后在其附近,加上打印("符",c);一行.最好挨个打印.发现在z附近.然后在正则串里面找到.
只有串2项函数,最近修改过.然后在里面查看.
果然,加了句:

    断大小<O...>(a);

这句话,就害你找半天,你不知道哪个文件的谁在调用它呀!
这里当时认为,应该要匹配该断定.但是,其实不匹配也是可以的,而原来的函数,就没有这个断定.因而原来的exe是可以运行的(它的错,是规则文件的错).
重新写了个,不断定的函数.然后,代码就运行良好了.
不要看着结论简单,自己试了很久,到处找原因.
遇见类似问题,一定要冷静!在附近慢慢找!
C++的断定太弱了!是个勉勉强强的功能!不能定位谁调用的断定.不然一下就找到了.

posted @ 2022-03-15 20:19  zjh6  阅读(14)  评论(0)    收藏  举报  来源