这个类这么写,const这么定义哪里错了吗?

/** @file SqliteInterface.h

  • @author ganchao
  • @date Nov 10, 2014
  • @brief 数据库抽象接口 */

#ifndef __SQLITEINTERFACE_H_
#define __SQLITEINTERFACE_H_
#include
#include
#include

///< @brief CNC参数权限表
#define AUTHORITY_SQLITE_FILEPATH T("/home/fiyang/nut/config/cncauthoritylist.sqlite")

class SqliteInterface
{
public:
///@brief 保存单个变量到数据库
///@param [in] _paramName 变量名
///@param [in] _paramValue 变量值
///@param [in] _tablename 数据库中保存变量的表名
///@param [in] _sqlitepath 数据库所在路径,含数据库名
///@return 保存是否成功
virtual bool SaveParamValueToSqlite(
const String& _paramName,
const String& _paramValue,
const String& _tablename = wxEmptyString,
const String& _sqlitepath = AUTHORITY_SQLITE_FILEPATH ) = 0;
///@brief 从数据库读取变量
///@param [in] _paramName 变量名
///@param [in] _paramValue 变量值
///@param [in] _tablename 数据库中保存变量的表名
///@param [in] _sqlitepath 数据库所在路径,含数据库名
virtual bool ReadParamValueFormSqlite(
const String& _paramName,
const String& _paramValue,
const String& _tablename = wxEmptyString,
const String& _sqlitepath = AUTHORITY_SQLITE_FILEPATH ) = 0;
};

#endif

const是常量,一定要有值的吧

ReadParamValueFormSqlite 这个函数中的_paramValue 是用来传递变量的值的吧, 不应该声明为const类型

const 声明的引用应该初始化一下,而且只能初始化,不能赋值的。

AUTHORITY_SQLITE_FILEPATH 似乎定义成了字符串数组,而不是一个String类对象。

同意 MiniCraft 的说法,引用类型要有初值。