- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为学校实验室制作一个小游戏,但我遇到了困难。我知道代码不是最好的,但是关于如何解决这个问题的提示首先会很棒 :D我得到这个:error C2679: binary '[' : no operator found which takes a right-hand operand of type 'overloaded-function' (or there are no acceptable conversion)
在第 183 和 190 行。有什么想法吗?
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <ctime>
#include <vector>
#include <string>
using namespace std;
class monstru{
public :
int x;
int y;
monstru(int X, int Y);
int GetX();
void SetX(int);
int GetY();
void SetY(int);
};
monstru::monstru(int X, int Y){
x = X;
y = Y;
}
int monstru::GetX(){
return x;
}
int monstru::GetY(){
return y;
}
void monstru::SetX(int X){
x = X;
}
void monstru::SetY(int Y){
y = Y;
}
class capcana{
public:
int x;
int y;
capcana(int X, int Y);
int GetX();
void SetX(int);
int GetY();
void SetY(int);
};
capcana::capcana(int X, int Y){
x = X;
y = Y;
}
int capcana::GetX(){
return x;
}
int capcana::GetY(){
return y;
}
void capcana::SetX(int X){
x = X;
}
void capcana::SetY(int Y){
y = Y;
}
int Verificare(vector<monstru>& Nmonstru, vector<capcana>& Ncapcana, vector< vector<char> > map);
void AdaugareMonstru(vector<monstru>& monstru);
void AdaugareCapcana(vector<capcana>& Ncapcana);
int main()
{
char player = 'P';
int posX = 1, posY = 1,temp=0;
char treasure = 'X';
//vector<char> map[7][10];
vector< vector<char> > map(7, vector<char>(10));
vector<monstru> M;
vector<capcana> C;
//vector<monstru> B;
AdaugareMonstru(M);
AdaugareCapcana(C);
//Initializing the map
for (int i = 0; i<7; i++){
for (int j = 0; j<10; j++){
map[i][j] = '.';
}
}
//Drawing the Map
for (int i = 0; i<7; i++)
{
for (int j = 0; j<10; j++)
cout << map[i][j] << " ";
cout << endl;
}
while (true)
{
char move;
cin >> move;
switch (move)
{
// move up;
case 'w':
if (posY <= 0)
{
cout << endl;
cout << "Character is going out of the range! Try again";
cout << endl;
cout << endl;
break;
}
else
{
map[posY][posX] = '.';
posY -= 1;
map[posY][posX] = player;
}
break;
// move down;
case 's':
if (posY >= 6)
{
cout << endl;
cout << "Character is going out of the range! Try again";
cout << endl;
cout << endl;
break;
}
else
{
map[posY][posX] = '.';
posY += 1;
map[posY][posX] = player;
}
break;
// move left;
case 'a':
if (posX <= 0)
{
cout << "Character is going out of the range! Try again";
cout << endl;
cout << endl;
}
else
{
map[posY][posX] = '.';
posX -= 1;
map[posY][posX] = player;
}
break;
//move right
case 'd':
if (posX >= 9)
{
cout << "Character is going out of the range! Try again";
cout << endl;
cout << endl;
}
else
{
map[posY][posX] = '.';
posX += 1;
map[posY][posX] = player;
}
break;
}
//Re-drawing the map for each turn
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 10; j++)
cout << map[i][j] << " ";
cout << endl;
}
temp = Verificare(M, C, map);
if (temp != 0)
break;
}
}
int Verificare(vector<monstru>& Nmonstru, vector<capcana>& Ncapcana, vector< vector<char> > map){
int temp;
for (int i = 0; i < 4; i++){
if (map[Nmonstru[i].GetX][Nmonstru[i].GetY] == 'P'){
** I get error here ^^^^ **
** I get error here ^^^^ **
** I get error here ^^^^ **
cout << "Ai fost mancat de monstru! Ai pierdut!";
temp = 1;
}
}
for (int i = 0; i < 4; i++){
if (map[Ncapcana[i].GetX][Ncapcana[i].GetY] == 'P'){
** I get error here ^^^^ **
** I get error here ^^^^ **
** I get error here ^^^^ **
cout << "Ai cazut intr-o capcana! Ai pierdut!";
temp = 2;
}
}
if (map[6][9] == 'P')
{
cout << "Ai gasit comoara! Ai castigat";
temp = 3;
}
}
void AdaugareMonstru(vector<monstru>& Nmonstru){
srand(time(0));
for (int i = 0; i < 4; i++){
monstru newMonstru(rand() % 6, rand() % 9);
Nmonstru.push_back(newMonstru);
}
}
void AdaugareCapcana(vector<capcana>& Ncapcana){
srand(time(0));
for (int i = 0; i < 4; i++){
capcana newCapcana(rand() % 6, rand() % 9);
Ncapcana.push_back(newCapcana);
}
}
最佳答案
GetX
和 GetY
你的类是函数。不是成员变量。要调用 y 函数,您需要在函数名称后面添加括号 (..)
。
所以只需将“()”添加到GetX
和GetY
:
if (map[Ncapcana[i].GetX()][Ncapcana[i].GetY()] == 'P'){
关于c++ - 错误 C2679 : binary '[' : no operator found which takes a right-hand operand of type 'overloaded-function' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256767/
我有一个 Segment 类和一个这样的段数组: private static class Segment { int number, type; Segment(in
我在 SO 中看到一些创建 multilanguage websites in JavaScript 的好建议包括 this article on JavaScript internationaliz
我们有浏览器前缀或黑客 (for Google and Safari) text-align: -webkit-right; (for Firefox) text-align:
过去几天我一直在关注这个问题,我正处于需要寻求帮助的地步。 http://cub.northnodes.com/index.php/about/mission/ 我需要立即捐赠 列一直 float 到
When I press right ctrl, I want the right shift the text will align right. When I press left ctrl le
我已经将右侧的列拆分为顶部和底部。在每个部分中,我在执行以下操作时遇到问题:我希望顶部占据左列高度的 50%,底部占据左列高度的另外 50%。 +-------------------+-------
我知道这个问题的标题很糟糕。对不起。 我有四个 div similar to this .我想要做的只是让 div 编号 2 和 4 之间的垂直空间被删除,而不改变 HTML 的结构。是否可以仅使用
我将表格设置为 100% 宽度。我会添加一个带有 php 的随机 div,有时会充满广告。我希望广告 div 位于表格的右侧和内容。我希望表格位于左侧,但仍为 100% 左右,它将填充广告 div 左
这个问题在这里已经有了答案: Bootstrap align navbar items to the right (24 个答案) 关闭 5 年前。
.floatright { float: right;margin: 0 0 10px 10px;clear: right;width:60px; height:60px; } Lorem
我正在尝试将 td 中的某些内容右对齐。 align="right"有效,但 text-align:right 无效。这是一个 jsfiddle显示这两种情况的示例。除了右对齐右列外,这两种情况是相同
在设计网站时,您认为用于特定任务的最佳图像格式是什么? 在试图找出用于特定任务的格式时,我总是发现自己处于两难境地……例如,我应该全面使用 .jpg 吗?或者,我何时以及为什么应该使用 .png? 例
我是一个 MySQL 新手,今天我尝试设置一个超过 5 行的 MySQL 调用。我不断收到语法错误,我尝试修复了几个小时,但我不知道问题出在哪里。这是代码: USE myDatabase; DELIM
这让我发疯。我有一个 div float 到另一个 div 的右侧,如下所示: Current Membership: 我有以下 css 规则: div#container { f
我有以下代码片段,它会产生不需要的“填充”区域,而填充为零。如何避免这个区域? 代码 div.left { background-color: red; max-width: 25%; f
在 C++ 中,表达式 left() = right() 求值 right() left() 按那个顺序。 right() 先行,正如已讨论过的 here. 我想不出让 right() 先走的理由。你
我有一个很小的菜单列表,当鼠标靠近时它应该会增长。在其原始状态下,菜单是右对齐的,悬停时每第二个元素向右移动并左对齐以为增加的高度腾出空间(参见 JSFiddle )。 ul { font-siz
td.myclass{ width: 6em; text-align: right; padding-right: 2em; } 如您所见,我希望单元格中的文本右对齐,距离单元
你怎么能看到 http://jsfiddle.net/73wst/ 我想在停止下开始,但我不知道如何设置它的样式。 我的 HTML: Stop Start 我的 CSS: .sta
一个大的内部 div 在一个小的外部 div 中,并且外部 div 溢出自动。但是为什么没有内部 div margin-right 和外部 div padding-right? html
我是一名优秀的程序员,十分优秀!