已声明“未命名类型”错误
Posted
技术标签:
【中文标题】已声明“未命名类型”错误【英文标题】:"Does not name a type" error while having been already declared 【发布时间】:2020-05-26 21:56:24 【问题描述】:我已经启动了这个蛇控制台游戏,但我收到了这个错误:
错误:
snakeVector
没有命名类型
main.cpp:
#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
///Dimensions of the box
short xDimension = 40;
short yDimension = 15;
///A vector with coordinates of snake's body
vector < pair <short, short> > snakeVector;///This is weird because I have declared this already here
///Co-ordinates of snake's head
pair <short,short> head = make_pair(12,8);
///Initialize snake
snakeVector.push_back(head);//These get me an error
snakeVector.push_back(make_pair(11,8));
snakeVector.push_back(make_pair(10,8));
有什么问题?
【问题讨论】:
这段代码是否在函数之外? UnholySheep 是的。在定义方法和main
函数之前,它在main.cpp
中
你不能在文件范围内调用函数(例如push_back
)——这就是你得到错误的原因。只需将这些行移至main
错误和你的计数器没有矛盾。您声明snakeVector
是正确的;如果你没有错误将是关于一个无法识别的标识符。编译器是正确的,snakeVector
没有命名类型;你声明它是一个变量。
这能回答你的问题吗? Does not name a type
【参考方案1】:
我在函数中添加了带有错误的行并解决了问题。
【讨论】:
以上是关于已声明“未命名类型”错误的主要内容,如果未能解决你的问题,请参考以下文章
[Journey with golang] 3. Type system