- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在尝试开发一个可以管理 map 列表的简单类,该类使用模板。
#include <map>
template<class R, typename IDPK = int >
class ActivationList
{
public:
typedef R type_value;
typedef R* pointer_type_value;
typedef const R * const_point_type_value;
typedef R & reference_type;
typedef const R & const_reference_type;
typedef const IDPK & const_ref_ID_PK_value;
typedef const IDPK const_Type;
typedef R ** ptr_reference_Type;
/**
* @brief ActivationList constructor explicito de la luista de activacion
* @param aType primer mensaje para alojar en
* @param aIdPK identificador unico
*/
explicit ActivationList(pointer_type_value aType , const_ref_ID_PK_value aIdPK)
{
}
/**
* @brief setSize
* @param aSize
*/
void setSize(const int & aSize)
{
mSize=aSize;
}
/**
* @brief getSize
* @return
*/
int getSize() const
{
return this->mSize;
}
/**
* @brief isEmpty
* @return
*/
bool isEmpty() const
{
return this->mListMessage->empty();
}
/**
* @brief isFull
* @return
*/
bool isFull() const
{
return (mListMessage->size()==mSize);
}
/**
* @brief insertValuesInMapLis inserta valores dentro de la lista de activacion
* @param aType puntero al la estructura que se quiere guardar
* @param aIdPK primary Key para realizar asociacion de la estructura de mensaje con respecto al ID mensaje
* @return 0=OK, negativo lo contrario
*/
int insertValuesInMapLis(pointer_type_value aType , const_ref_ID_PK_value aIdPK)
{
if (!aType) return -1;
if (aIdPK<0) return -2;
mListMessage->insert(std::pair<const_ref_ID_PK_value, pointer_type_value>(aIdPK,aType));
return 0;
}
/**
* @brief findMessageId metdo que busca dentro de la lista de activacion segun una Primary Key
* @param aReferenceType valor donde se almacenara el valor buscado
* @param aPKValue valor de la primary key a buscar, en este caso caso el IDMensaje
* @param aResult resulta de la operacion, 0=OK, negativo de lo contrario
*/
void findMessageId(reference_type aReferenceType,const int & aPKValue, int & aResult)
{
if (aPKValue < 0) {
aResult=-1;
return;
}
//buscar valor dentro de la lista
mMessageListIterador=mListMessage->find(aPKValue);
if (mMessageListIterador!=mListMessage->end())
{
aResult=0;
aReferenceType=mMessageListIterador->second;
}
else aResult=-1;
return;
}
void findMessageId(R * aPointerType,const int & aPKValue, int & aResult)
{
if (aPKValue < 0) {
aResult=-1;
return;
}
//buscar valor dentro de la lista
mMessageListIterador=mListMessage->find(aPKValue);
if (mMessageListIterador!=mListMessage->end())
{
aResult=0;
aPointerType=&mMessageListIterador->second;
}
else aResult=-1;
return;
}
/**
* @brief push metodo que inserta un mensaje en la lista de activacion
* @param aType mensaje que se va a ingresar a la lista
* @param aIdPK identificador unico del mensaje . IDMessage
* @return 0=OK, negativo lo contrario
*/
int push(pointer_type_value aType , const_ref_ID_PK_value aIdPK )
{
return insertValuesInMapLis(aType ,aIdPK);
}
/**
* @brief pop metodo que extrae un mensaje de la pila
* @param aReferenceType valor donde se depositara el valor requerido
* @param aPKValue primary key del mensaje buscado = IDMensaje
* @param aResult 0=OK, negativo lo contrario
*
*/
void pop(reference_type aReferenceType,const int & aPKValue, int & aResult)
{
findMessageId(aReferenceType, aPKValue, aResult);
}
/**
* @brief cleanList metodo que eliminia todos los mensajes de la lista
*/
void cleanList()
{
mListMessage->clear();
}
/**
* @brief eraseMessage elimina un mensaje en particular
* @param aIDMessage identificador unico del mensaje
* @param aResult 0=OK, negativo lo contrario
*/
void eraseMessage(const int & aIDMessage, int & aResult)
{
aResult=-1;
mMessageListIterador=mListMessage->find(aIDMessage);
if (mMessageListIterador==mListMessage->end())
{
//eliminacion del mensaje
mListMessage->erase(aIDMessage);
aResult=0;
//
}
}
private:
ActivationList();
ActivationList(const ActivationList &);
const ActivationList & operator=(const ActivationList &);
std::map<const_Type, pointer_type_value > * mListMessage;
typename std::map<const_Type, pointer_type_value >::iterator mMessageListIterador;
int mSize;
};
然后,主要使用:
ActivationList<IMetodo,int> aActivationList(0,12);
aActivationList.push(aMessageQueue,1221);
//int aResultType=0;
IMetodo * aMethodPointer=0;
aActivationList.findMessageId(aMethodPointer,1221,aResul
编译器输出:
cannot convert 'IMetodo**' to 'IMetodo*' in assignment
我花了很多时间试图确定问题出在哪里,但我看不到问题出在哪里。谁能帮忙?
最佳答案
void findMessageId(R * aPointerType,const int & aPKValue, int & aResult)
{
if (aPKValue < 0) {
aResult=-1;
return;
}
//buscar valor dentro de la lista
mMessageListIterador=mListMessage->find(aPKValue);
if (mMessageListIterador!=mListMessage->end())
{
aResult=0;
aPointerType=&mMessageListIterador->second;
}
else aResult=-1;
return;
}
在这个方法中我改变了这一行:
aPointerType=&mMessageListIterador->second;
为此:
aPointerType=mMessageListIterador->second;
关于c++ std::map 分配错误:无法在分配中将 ' type **' 转换为 'type *',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194415/
假设a是张量,那么有什么区别: 类型(a) a.类型 a.type() 我找不到区分这些的文档。 最佳答案 type 是 python 内置方法。 它将返回对象的类型。喜欢 torch.Tensor.
什么是 Type 1 的居民的例子?两者都不是 Type也不是Type的居民?在 Idris REPL 中进行探索时,我无法想出任何东西。 更准确地说,我正在寻找一些 x除了 Type产生以下结果:
我找到了一些资源,但我不确定我是否理解。 我找到的一些资源是: http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb2ff3358411d1829f00
这两个函数原型(prototype)有什么区别? void apply1(double(f)(double)); void apply2(double(*f)(double)); 如果目标是将提供的函
http://play.golang.org/p/icQO_bAZNE 我正在练习使用堆进行排序,但是 prog.go:85: type bucket is not an expression
假设有一个泛型定义的方法信息对象,即一个方法信息对象,这样的方法Info.IsGenericMethodDefinition==TRUE:。也可以说它们也有一个泛型参数列表:。我可以使用以下命令获取该
在具有依赖类型的语言中,您可以使用 Type-in-Type 来简化语言并赋予它很多功能。这使得语言在逻辑上不一致,但如果您只对编程感兴趣而不对定理证明感兴趣,这可能不是问题。 在 Cayenne
根据 Nim 手册,变量类型是“静态类型”,而变量在内存中指向的实际值是“动态类型”。 它们怎么可能是不同的类型?我认为将错误的类型分配给变量将是一个错误。 最佳答案 import typetrait
假设您有以下结构和协议(protocol): struct Ticket { var items: [TicketItem] = [] } struct TicketItem { } prot
我正在处理一个 EF 问题,我发现它很难调试...以前,在我的系统中有一个表类型继承设置管理不同的用户类型 - 所有用户共有的一种根类型,以及大致基于使用该帐户的人员类型的几种不同的子类型。现在,我遇
这是我的 DBManager.swift import RealmSwift class DBManager { class func getAllDogs() -> [Dog] {
我正在尝试使用傅里叶校正图像中的曝光。这是我面临的错误 5 padded = np.log(padded + 1) #so we never have log of 0 6 g
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
请考虑以下设置: protocol MyProcotol { } class MyModel: MyProcotol { } enum Result { case success(value:
好吧,我将我的 python 项目编译成一个可执行文件,它在我的电脑上运行,但我将它发送给几个 friend 进行测试,他们都遇到了这个错误。我以前从未见过这样的错误。我使用 Nuitka 来编译代码
当我尝试训练我的模型时"ValueError: Type must be a sub-type of ndarray type"出现在 line x_norm=(np.power(x,2)).sum(
我尝试在另一个类中打断、计数然后加入对象。所以我构建协议(protocol): typealias DataBreaker = () -> [Double] typealias DataJoiner
我正在使用 VS 2015 更新 3、Angular 2.1.2、Typescript 2.0.6 有人可以澄清什么是 typings 与 npm @types 以及本月很难找到的任何其他文档吗? 或
我正在考虑从 VS2010 更改为 Mono,因此我通过 MoMA 运行我的程序集,看看我在转换过程中可能遇到多少困难。在生成的报告中,我发现我不断收到此错误: bool Type.op_Equali
主要问题 不太确定这是否可能,但由于我讨厌 Typescript 并且它使我的编码变得困难,我想我会问只是为了确定。 interface ISomeInterface { handler: ()
我是一名优秀的程序员,十分优秀!