VC2005报告的template编译错误.....faint!

昨天做基于策略的资源管理的时候碰到一个恶心的问题----编译错误. 这年头,编译错误能难倒人的还真不多见.不过越来越仗着编译器的功能强大,而不注意留心写代码时候的细心(尤其是改代码的时候)终究让我遭到了报应.
当时的代码如下:

 template <typename ResType> class TSimpleResCreator
{
public:
ResType* newInstance()
{
return ResType::newInstance();//ResType;
}

void deleteInstance(ResType* pRes)
{
ResType::deleteInstance(pRes);
}
};

template <typename ResType , typename _TCreator = TSimpleResCreator<ResType> >
class TBaseResMgr : public _TCreator , public IResManager
{

}; //出错的提示行

这样的代码虽然我的模板水平不是很高。但是还不至于写错的。但是我代码是在以前的基础上改的。改完了以后怎么编译都通不过。编译器提示
TBaseResMgr的模板参数太多。。。。错误行是发生上面代码注明的那个地方。同样的代码拷贝到另外一个工程里却是好的。 让我郁闷坏了。 很少见过那一行出错的。。。
后来仔细检查了一下。最终发现这个类前面还定义了几个其他类。而其他类前面有TBaseResMgr的forward declaration....我给
TBaseResMgr类加了策略。做了改动。却没改 forward declaration 。。。。
原来的forward declaration是这样的:
template <typename ResType > class TBaseResMgr
后来改成这样就OK了。
template <typename ResType , typename _TCreator = TSimpleResCreator<ResType> >
class TBaseResMgr


很是不了解,为什么VC2005要把错误行号报告在那一行。哪怕是把错误行号指向类的定义那一行也好。很是不解。不过错还是在自己。所以下面:
反思:
 改代码一定要细心。copy paste代码是万恶之源更要千万小心

### Logback 中配置日志文件最大尺寸 在 Logback 配置中,为了控制日志文件的最大尺寸,可以使用 `RollingFileAppender` 并配合 `SizeBasedTriggeringPolicy` 来实现这一功能。具体来说,在 XML 或 YAML 文件中的配置项允许指定当达到一定大小时滚动创建新的日志文件[^1]。 对于基于 Spring Boot 的项目而言,在 `application.yml` 文件内也可以完成类似的设定。通过设置 `maxFileSize` 参数来定义单个日志文件的最大容量,一旦超出该限制就会触发新日志文件的生成并继续记录后续的日志信息[^2]。 下面是一个简单的例子展示如何利用这些选项来进行配置: #### 使用XML格式配置Logback ```xml <configuration> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 日志文件路径 --> <file>logs/app.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>logs/app.%i.log.zip</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <root level="debug"> <appender-ref ref="FILE"/> </root> </configuration> ``` #### 在Spring Boot项目的YAML文件中配置 ```yaml logging: file: name: ./logs/application.log max-file-size: 10MB # 设置最大日志文件大小为10兆字节 pattern: console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}" file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值