2010-06-11 150 views
1

我写了一些C++代码,其中我使用了模板。由于我使用了模板,我无法初始化几个模板类变量。我收到了valgrind的警告信息有条件跳转或移动取决于未初始化的值。那么有没有办法绕过这个和/或初始化模板变量?我想不出一种办法,因为即使我将它们初始化为NULL,当我使用字符串数据类型时,也会发生运行时失败。模板参数初始化

谢谢!

+2

为了让我们明白你在说什么 – sbi 2010-06-11 10:26:59

回答

4

这只是猜测你在问什么,所以如果它错了,请忽略它。

IIUC,你的问题是,使用模板参数,你不能正确地默认初始化内置和用户定义的类型。解决这个问题的方法是:

T obj = T(); 

这适用于嵌入式和UDT。

+0

谢谢你的帮助sbi,你将不得不张贴一小段代码,最好是自包含和编译(除了你所看到的错误)。 – Izza 2010-06-11 11:39:45