gpt4 book ai didi

C++:声明 multimap 迭代器时出错

转载 作者:太空宇宙 更新时间:2023-11-04 15:27:10 25 4
gpt4 key购买 nike

由于我对 C++ 模板缺乏了解,我遇到了一个愚蠢的问题。

我有一个模板类 Token 和一个模板类 Task。

任务在 multimap 内包含一些 token *;我想遍历它们。

因此,在我的一个函数中,我写道:

template <typename C>
void Task<C>::f() {

// some code...
multimap<string, Token<C>* >::iterator it;

}

但是我从 g++ 得到这个编译错误:

src/structures.cpp:29: error: expected ‘;’ before ‘it’

如果我放入 token 或类似的东西,它会编译。

哪里出错了?

最佳答案

你想要:

 typename  multimap<string, Token<C>* >::iterator it;

这个错误很常见,我认为编译器作者应该犯这个错误:

error: expected ‘;’ before ‘it’ - did you forget a typename?

关于C++:声明 multimap 迭代器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com