- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这样的结构:
struct casilla{
int x,y;
};
还有这几行代码;
std::vector<std::vector<std::vector<casilla> > > iniciales;
iniciales.resize(7);
在 g++ 编译器中给我这个错误:
src/tetromino.cpp:5:1: error: unknown type name 'iniciales'
iniciales.resize(7);
^
src/tetromino.cpp:5:10: error: expected unqualified-id
iniciales.resize(7);
编辑:我修改了我的代码,现在是这样的:
std::vector<std::vector<std::vector<casilla> > > iniciales(7);
for(int i=0; i<iniciales.size();i++){
iniciales[i].resize(3);
for(int i=0; i<3;i++)
iniciales[i][j].resize(4);
}
iniciales.at(TTR_CUADRADO){{{0,5},{0,6},{1,5},{1,6}}};
iniciales.at(TTR_LREVES)={{ {0,4},{0,5},{0,6},{1,6} },
{{-1,5},{0,5},{1,5},{1,4}},
{{0,4},{1,4},{1,5},{1,6}},
{{-1,5},{-1,6},{0,5},{1,5}}
};
iniciales.at(TTR_L)={{{0,4}{0,5},{0,6},{1,4}},{{-1,5},{0,5},{1,5},{1,6}},
{{0,4},{0,5},{0,6},{-1,6}},{{-1,4},{-1,5},{0,5},{1,5}}};
iniciales.at(TTR_Z)={{{0,5},{0,6},{1,6},{1,7}},{{0,6},{1,6},{0,7},{-1,7},}};
iniciales.at(TTR_ZREVES)={{{0,6},{0,7},{1,5},{1,6}},{{0,6},{0,7},{-1,6},{1,7}}};
iniciales.at(TTR_I)={{{0,4},{0,5},{0,6},{0,7}},{{-2,6},{-1,6},{0,6},{1,6}}};
iniciales.at(TTR_T)={{{0,5},{0,6},{0,7},{1,6}}}
for(int i=0; i<iniciales.size();i++){
for(int i=0; i<3;i++)
iniciales[i][j].shrink_to_fit();
}
}
所有 TTR* 变量都是 0 到 6 之间的枚举值。
这是派对开始的时间:
c++ -Wall -g -Iinclude -c src/tetromino.cpp -o obj/tetromino.o
src/tetromino.cpp:5:1: error: expected unqualified-id
for(int i=0; i<iniciales.size();i++){
^
src/tetromino.cpp:10:2: error: unknown type name 'iniciales'
iniciales.at(TTR_CUADRADO){{{0,5},{0,6},{1,5},{1,6}}};
^
src/tetromino.cpp:10:11: error: expected unqualified-id
iniciales.at(TTR_CUADRADO){{{0,5},{0,6},{1,5},{1,6}}};
^
src/tetromino.cpp:11:1: error: unknown type name 'iniciales'
iniciales.at(TTR_LREVES)={{ {0,4},{0,5},{0,6},{1,6} },
^
src/tetromino.cpp:11:10: error: expected unqualified-id
iniciales.at(TTR_LREVES)={{ {0,4},{0,5},{0,6},{1,6} },
^
src/tetromino.cpp:16:1: error: unknown type name 'iniciales'
iniciales.at(TTR_L)={{{0,4}{0,5},{0,6},{1,4}},{{-1,5},{0,5},{1,5},{1,6}},
^
src/tetromino.cpp:16:10: error: expected unqualified-id
iniciales.at(TTR_L)={{{0,4}{0,5},{0,6},{1,4}},{{-1,5},{0,5},{1,5},{1,6}},
^
src/tetromino.cpp:18:1: error: unknown type name 'iniciales'
iniciales.at(TTR_Z)={{{0,5},{0,6},{1,6},{1,7}},{{0,6},{1,6},{0,7},{-1,7},}};
^
src/tetromino.cpp:18:10: error: expected unqualified-id
iniciales.at(TTR_Z)={{{0,5},{0,6},{1,6},{1,7}},{{0,6},{1,6},{0,7},{-1,7},}};
^
src/tetromino.cpp:19:1: error: unknown type name 'iniciales'
iniciales.at(TTR_ZREVES)={{{0,6},{0,7},{1,5},{1,6}},{{0,6},{0,7},{-1,6},{1,7}}};
^
src/tetromino.cpp:19:10: error: expected unqualified-id
iniciales.at(TTR_ZREVES)={{{0,6},{0,7},{1,5},{1,6}},{{0,6},{0,7},{-1,6},{1,7}}};
^
src/tetromino.cpp:20:1: error: unknown type name 'iniciales'
iniciales.at(TTR_I)={{{0,4},{0,5},{0,6},{0,7}},{{-2,6},{-1,6},{0,6},{1,6}}};
^
src/tetromino.cpp:20:10: error: expected unqualified-id
iniciales.at(TTR_I)={{{0,4},{0,5},{0,6},{0,7}},{{-2,6},{-1,6},{0,6},{1,6}}};
^
src/tetromino.cpp:21:1: error: unknown type name 'iniciales'
iniciales.at(TTR_T)={{{0,5},{0,6},{0,7},{1,6}}}
^
src/tetromino.cpp:21:10: error: expected unqualified-id
iniciales.at(TTR_T)={{{0,5},{0,6},{0,7},{1,6}}}
^
src/tetromino.cpp:22:1: error: expected unqualified-id
for(int i=0; i<iniciales.size();i++){
^
src/tetromino.cpp:26:1: error: extraneous closing brace ('}')
}
^
src/tetromino.cpp:27:1: error: no template named 'vector'; did you mean
'std::vector'?
vector<casilla> tetromino::Zonstd::aComun(vector<casillstd::a> v1,...
^~~~~~
std::vector
/usr/include/c++/4.2.1/bits/stl_vector.h:162:11: note: 'std::vector' declared
here
class vector : protected _Vector_base<_Tp, _Alloc>
^
src/tetromino.cpp:27:28: error: no member named 'Zonstd' in 'tetromino'
vector<casilla> tetromino::Zonstd::aComun(vector<casillstd::a> v1,...
~~~~~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
我该怎么办?
正如@Jack 所说,我认为这可能是因为我在任何方法之外进行操作。我应该制定一个特定的方法来设置这个全局变量吗?此外,我更喜欢创建一个全局变量,而不是每次调用函数时都创建一个。
PS.:对于“奇怪的”变量名,我很抱歉,我正在用西类牙语编程。 :P
最佳答案
我的猜测是您正试图在方法之外执行一些代码,例如:
#include <vector>
std::vector<std::vector<std::vector<casilla> > > iniciales;
iniciales.resize(7);
应该是
#include <vector>
std::vector<std::vector<std::vector<casilla> > > iniciales;
void someMethod() {
iniciales.resize(7);
}
或者,甚至更好:
std::vector<std::vector<std::vector<casilla> > > iniciales(7);
关于c++ - STL vector 错误 : Unknown type name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552757/
这是我的代码 14 20 {"Confirm Email"} 21 在第 17 行我得到错误 Type '{ pathname: string; user: { em
这是我的代码 14 20 {"Confirm Email"} 21 在第 17 行我得到错误 Type '{ pathname: string; user: { em
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 8 年前。 为什么 KeyEvent.getKeyText(0).substrin
我正在尝试 Rust 的新 wasm32-unknown-unknown 目标,我在调用数学函数(例如 sin、cos、exp、atan2)时遇到问题。 cargo .toml: [package]
当我为 spring-boot 创建启动项目时,我在 pom 文件中收到此错误。这只是为了创建一个基本的 Spring Boot 项目 Project build error: Invalid pac
我已经订阅了我想要传输的数据。但不知何故它不起作用。我收到此错误: The property pipe is not available for type "OperatorFunction" 这是我
运行以下查询时。select * from surgerys where to_char(dt_surgery ,'DD-MM-YYYY' ) = to_char('12-02-2012','DD-M
我在运行存储过程时遇到以下异常: com.microsoft.sqlserver.jdbc.SQLServerException:不支持从 UNKNOWN 到 UNKNOWN 的转换。 过程定义如下:
我尝试运行以下代码。顺便说一句,我对 python 和 sklearn 都是新手。 import pandas as pd import numpy as np from sklearn.linear
我已经阅读了关于未知类型的官方文档,但我很难真正理解它是如何工作的。 人们可以在文档中读到:“在没有首先断言或缩小到更具体的类型之前,不允许对未知进行任何操作。” 但如果我有这个功能: const f
我正在尝试在Mac OS中设置Hadoop 2.6.0 我正在关注这篇文章: http://hadoop.apache.org/docs/r2.4.0/hadoop-project-dist/hado
配置 Nexus docker 注册表和代理“dockerhub-proxy”后,如下所述: https://help.sonatype.com/repomanager3/formats/docker
我收到此错误 - “ValueError:未知标签类型:'unknown'” 我已经在网上搜索但无法摆脱这个错误,顺便说一句,我是 python 的新手:) 我的数据有 5 行 22 列,最后一列是标
使用 SHA256 摘要标识符 拉取图像失败 最佳答案 不幸的是,这是 DockerHub 删除 Docker 1.9 守护进程的向后兼容性的副作用。当使用 Docker 1.10 推送图像时,较旧的
我是 postgresql 的新手,正在尝试使用全文搜索 to_tsvector但是我遇到了错误。 SQL 和错误 SELECT to_tsvector('english', 'The quick b
每当我这样做时 npm run watch ,第一次编译工作正常 - 但经过几次编译后,我最终会得到这个错误: 95% emitting unnamed compat pluginError: UNK
在一个新的 Angular 应用程序中,我收到以下错误:Error from chokidar : Error: UNKNOWN: unknown error, watch我已经删除并重新安装 nod
使用 Typescipt 4.x.x 我写了一些代码来实现其他语言 Elm/Rust/Haskell 中常用的 Maybe/Option 类型。 我想写一个可以接受映射类型的通用函数 type MyM
const submitted = useSelector((state) => state.post.submitted) 对于上面的状态。我得到错误: (参数)状态:未知对象的类型为“未知”。 这
我正在尝试将多架构 docker 镜像推送到 docker hub 并遇到错误(在 https://github.com/docker/distribution/issues/3100 处打开了 do
我是一名优秀的程序员,十分优秀!