对象指针赋值的指针向量中的一个元素
An element of a pointer vector of object pointers assignment
我在将对象指针的指针向量的元素分配给对象指针时遇到问题。我使用的是Linux,使用的是Eclipse IDE。如果你想看看我的问题:
void Parse::parseDatalogProgram(vector<Token*>* tokens)
{
Token* currentToken = tokens[0];
...
}
我收到一个语法错误,说"初始化时无法将‘std::vector’转换为‘Token*’",尽管上面看起来并不是这样的。我该如何正确修复这个问题?
tokens
是一个指针,而不是vector
本身。你可以做
tokens->operator[](0);
或
(*tokens)[0];
Token* currentToken = (*tokens)[0];
请确保令牌不为null。你为什么不传递一个引用呢?
tokens
是指向向量的指针,而不是对象或引用。C++的方法是将函数原型更改为:
void Parse::parseDatalogProgram(const vector<Token*>& tokens){...}
如果这不可能,您可以在使用之前简单地取消引用指针:Token* currentToken = (*tokens)[0]
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 引用一个已擦除类型(void*)的指针
- 修改函数中的指针(将另一个指针作为参数传递)
- 如何将指针从一个void函数传递到另一个C++
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 为什么我们要为avl树实现返回一个指向节点的指针,而不是void函数
- 不明白迭代器,引用和指针失效,一个例子
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 将指针分配给另一个指针时会发生什么情况?
- 将指向给定子类的指针从一个向量复制到另一个向量
- C++将一个指针分配给另一个指针时执行的类型检查
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 给定一个指向堆分配内存的指针,智能指针实现如何为其找到合适的释放函数?
- 取消引用结束指针到数组类型的一个
- 更改一个指针后更改乘法对象
- const和指针(一个节点示例)
- 从函数返回指针.一个指针的值未更新