Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите новичку - в чем ошибка?

5.1K
13 ноября 2003 года
Soloik
5 / / 13.11.2003
//-------------------------------------------------
файл SPMainWin.h

#include "SPSettings.h"

void InitSettings();

//-------------------------------------------------
файл SPMainWin.cpp

#include "SPMainWin.h"

void InitSettings()
{
MainSettings.SCREEN_WIDTH = 640;
MainSettings.SCREEN_HEIGHT = 480;
MainSettings.TITLE = "SP";
}


int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
InitSettings();
}

//-------------------------------------------------

файл SPSettings.h

#pragma once

#include <string>

class SPSettings {

public:
SPSettings(void);
~SPSettings(void);

typedef std::basic_string<char> TITLE;
typedef unsigned int SCREEN_WIDTH;
typedef unsigned int SCREEN_HEIGHT;
};

extern SPSettings MainSettings;
//-------------------------------------------------
файл SPSettings.cpp

#include "SPSettings.h"

SPSettings MainSettings;

SPSettings::SPSettings(void)
{
}

SPSettings::~SPSettings(void)
{
}
//-------------------------------------------------




Получаю ошибку

SPMainWin.cpp(20): error C2274: 'function-style cast' : illegal as right side of '.' operator
SPMainWin.cpp(21): error C2274: 'function-style cast' : illegal as right side of '.' operator
SPMainWin.cpp(22): error C2274: 'function-style cast' : illegal as right side of '.' operator

Может подскажете - в чем я не прав?
319
13 ноября 2003 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by Soloik
//-------------------------------------------------
файл SPMainWin.h

#include "SPSettings.h"

void InitSettings();

//-------------------------------------------------
файл SPMainWin.cpp

#include "SPMainWin.h"

void InitSettings()
{
MainSettings.SCREEN_WIDTH = 640;
MainSettings.SCREEN_HEIGHT = 480;
MainSettings.TITLE = "SP";
}


int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
InitSettings();
}

//-------------------------------------------------

файл SPSettings.h

#pragma once

#include <string>

class SPSettings {

public:
SPSettings(void);
~SPSettings(void);

typedef std::basic_string<char> TITLE;
typedef unsigned int SCREEN_WIDTH;
typedef unsigned int SCREEN_HEIGHT;
};

extern SPSettings MainSettings;
//-------------------------------------------------
файл SPSettings.cpp

#include "SPSettings.h"

SPSettings MainSettings;

SPSettings::SPSettings(void)
{
}

SPSettings::~SPSettings(void)
{
}
//-------------------------------------------------




Получаю ошибку

SPMainWin.cpp(20): error C2274: 'function-style cast' : illegal as right side of '.' operator
SPMainWin.cpp(21): error C2274: 'function-style cast' : illegal as right side of '.' operator
SPMainWin.cpp(22): error C2274: 'function-style cast' : illegal as right side of '.' operator

Может подскажете - в чем я не прав?


SCREEN_WIDTH
SCREEN_HEIGHT
TITLE
Это названия определенных тобой типов, а не переменных. Когда ты пытешься присвоить им значения, это все равно что писать:
int=25;
Чтобы можно было присваивать значения, тебе нужно создать переменные этих типов.
А вообще, вместо типов лучше сразу используй переменные

вместо
typedef std::basic_string<char> TITLE;
typedef unsigned int SCREEN_WIDTH;
typedef unsigned int SCREEN_HEIGHT;
пиши
char* TITLE;
unsigned int SCREEN_WIDTH;
unsigned int SCREEN_HEIGHT;

5.1K
14 ноября 2003 года
Soloik
5 / / 13.11.2003
Спасибо - все понял. :}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог