Compiler errors g++;类型应为错误,获取‘;类名’;

Compiler errors g++;类型应为错误,获取‘;类名’;,compiler-errors,g++,Compiler Errors,G++,在g++中使用以下代码: #include <iostream> #include <vector> typedef std::vector<int> array; typedef std::vector<array *> list; struct time{ int beg; int end; time(){ beg=0; end=0; } }; void explore(int v, st

在g++中使用以下代码:

#include <iostream> 
#include <vector>
typedef std::vector<int> array;
typedef std::vector<array *> list;


struct time{
    int beg;
    int end;
    time(){
    beg=0;
    end=0;
    }
};

void explore(int v, std::vector<bool> & visited, list & l, std::vector<time> & times);

int main()
{
    return 0;
}
#包括
#包括
向量数组;
typedef std::向量列表;
结构时间{
int beg;
内端;
时间(){
beg=0;
结束=0;
}
};
虚空探索(int v,std::vector&visted,list&l,std::vector×);
int main()
{
返回0;
}
我有错误:

期望类型,获得“时间”

模板参数2无效

使用MSVC++2013,一切正常。我做错了什么?

不幸的是,g++提供的
递归地包含了,它声明了函数。在解析模板实例化参数时,函数标识符优先于类型名称,即使对应的模板参数是类型


解决方法是编写
std::vector
,但最好使用C标准未使用的名称空间或名称。

我找到了答案:我必须添加
typedef struct time“mytipe”
和所有工作