• 4845阅读
  • 5回复

[提问]关于调用静态全局变量产生的错误 谢谢各位大大 [复制链接]

上一主题 下一主题
离线cctom25
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-06
为实现 点击小图看大图的功能 编写了如下代码 其中使用到了静态全局变量  出现了如下问题
D:\QtSDK\QtCreator\bin\DCXT\DCXT\bigpicture.cpp:23: 错误:expected primary-expression before '.' token
代码如下 已用红色标出 谢谢各位

#ifndef THUMBNAILS_H
#define THUMBNAILS_H
#include"QGraphicsView"
#include"QGraphicsScene"
#include"QGraphicsItem"
#include "iconitem.h"
#include "login.h"
#include "picture.h"
#include "foodmenu.h"
#include "interface.h"
#include <QtGui>
#include "bigpicture.h"

class thumbnails : public QGraphicsView
{
    Q_OBJECT
public:
    thumbnails(QWidget *parent = 0);
    void addItems();             //增加iconitem
    void menuinfo();
    void HelpInfo();
    void tableinfo();
    void booking();
    void opentable();
    void userinfo();
    void print();
    void calendar();
    void fanhui();
    void debug();
    void exit();
    void tupian();
    void caidan();
    void one();
    static int a; 定义全局变量的位置
protected:
    void mouseDoubleClickEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);

private:
    QGraphicsScene *scene;
    QStringList icon_name;
    iconitem *image;
    class login *interfaceshow;
    class picture *pictureview;
    class foodmenu *foodmenuview;
    class bigpicture *bigpictureview;

    //Dialog *dish;
    //Dialog *table;
    //Dialog *user;




};
#endif // INTERFACE_H



#include "bigpicture.h"
#include "ui_bigpicture.h"
#include <QPixmap>
#include <QDebug>
#include <QImage>
#include "picture.h"
#include "thumbnails.h"

bigpicture::bigpicture(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::bigpicture)
{
    ui->setupUi(this);
    showPicture();
}

bigpicture::~bigpicture()
{
    delete ui;
}
void bigpicture::showPicture()
{
    switch(thumbnails.a) 出错的位置
    {
    case 1:ui->label->setPixmap(QPixmap("photos/1.jpg"));
        break;


    }

    ui->label->setPixmap(QPixmap("photos/1.jpg"));
qDebug()<<"1";

}


离线dbzhang800

只看该作者 1楼 发表于: 2012-04-06
1. 这不叫全局变量

2. 语法错了 ClassName::StaticVar

3. 建议补补C++基础
离线shiziyang

只看该作者 2楼 发表于: 2012-04-06
首先没有初始化,然后写法应该是thumbnails::a
离线cctom25
只看该作者 3楼 发表于: 2012-04-06
回 2楼(shiziyang) 的帖子
请问应该怎么初始化 谢谢
离线cctom25
只看该作者 4楼 发表于: 2012-04-06
回 1楼(dbzhang800) 的帖子
恩。。我C++基础不好  谢谢 请问可以说下详细写法吗 谢谢
离线roywillow

只看该作者 5楼 发表于: 2012-04-06
静态成员变量不属于任何一个实例,所以thumbnails.a这么调用是不合适的,要thumbnails::a
初始化的话,记得一般是在这个类的实现cpp中的开头加上一句thumbnails::a = XX
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个