【发布时间】:2019-09-25 12:27:07
【问题描述】:
我有一个关于链表和模板的任务,其中有一些带有奇怪参数的函数是强制性的。 我找不到有关它的在线文档,感谢您提供的任何材料。
我尝试为 op 分配另一个地址,然后它编译得很好,但我无法调用它。
template <class T> struct L1Item {
T data;
L1Item<T> *pNext;
L1Item() : pNext(NULL) {}
L1Item(T &a) : data(a), pNext(NULL) {}
};
template <class T> class L1List {
L1Item<T> *_pHead; // The head pointer of linked list
size_t _size; // number of elements in this list
public:
void traverse(void (*op)(T &)) {
// TODO: Your code goes here
}
void traverse(void (*op)(T &, void *), void *pParam) {
// TODO: Your code goes here
// string *Req = static_cast<string *>(pParam);
// if (*Req == "find city's id") {
// op = this->_pHead;
// };
}
};
【问题讨论】:
-
相关:stackoverflow.com/questions/2592137/… 试图为骗子找到更好的目标
-
搜索函数指针。
-
这里有这个translator,从C(和C++)到英文。
-
在之前没有解释函数指针语法的情况下,有人会给你这个作业,真是太神奇了。
-
咆哮:有时老师在教 c++ 方面的糟糕程度让我感到惊讶。我认为这是该语言没有得到更广泛使用的原因之一。就好像有些老师正在教授“C with classes”(实际上是第一个 c++ 版本之一)而不是 c++。如果你给某人上一门 Java 课程——开始教他们字节码是很疯狂的(即使老师可能非常了解字节码)。也许不是一个很好的例子,但你明白我的意思。应该是相反的!
标签: c++ templates parameters linked-list