对象未命名类型错误 [英] Object doesn't name a type error

查看:103
本文介绍了对象未命名类型错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当尝试为类播放器创建对象时,我收到此错误

I am getting this error

...


main.cpp | 24 |错误:'pic'未命名类型

main.cpp|24|error: 'pic' does not name a type

这里是代码

这里是我的player.h

here is my player.h

#ifndef PLAYER_H_INCLUDED
#define PLAYER_H_INCLUDED

#include <allegro.h>
#include <iostream>

class player
{

public:
int upperraw;
int middlerraw;
int lowerraw;
int firstcolumn;
int seccolumn;
int thirdcolumn;
};

   #endif // PLAYER_H_INCLUDED

my main.cpp

my main.cpp

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()


推荐答案

你不能在函数之外做这个:

You cannot do this outside of a function:

pic->upperrow=0;

你可以声明(和初始化全局变量),但是它尽可能远。

You can declare (and intialize globals) but that's as far as it goes.

这篇关于对象未命名类型错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆