我正在修改项目中的一些现有代码。我有一个模板类Param和一个用于头文件中参数的部分专用模板类,如下所示:
#############################################################
# Default Logging Configuration File
############################################################
############################################################
# Global properties
############################################################
handlers= java.util.logging.ConsoleHandler
.level= WARNING
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
com.xyz.foo.level = SEVERE
在模板类的特化中我收到此错误消息: "不允许不完整类型Parameters.h"在线:65 "指向不完整类类型的指针不允许使用Parameters.h"在线:54和60
我知道模板类的特化是在不完整的类型,但编译器应该在编译时解决它,或者我需要某种前向声明。这两个类都在同一个.h文件中。 此处仅复制相关代码。 谢谢你的帮助。
答案 0 :(得分:1)
您可能忘记在某处包含一个带有参数类定义的头文件。这是错误的最常见原因。
当您不使用声明的类中的字段时,前向声明有效。一旦开始使用字段,就需要定义此类。