Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
#1

Компилятор ругается на USHORT * - C++

21.09.2013, 18:10. Просмотров 547. Ответов 9
Метки нет (Все метки)

C++
1
USHORT * pInt = new USHORT;
Чего это он?

1>d:\проги\указателя\указателя\указателя.cpp(48): error C2065: USHORT: необъявленный идентификатор
1>d:\проги\указателя\указателя\указателя.cpp(48): error C2065: pInt: необъявленный идентификатор
1>d:\проги\указателя\указателя\указателя.cpp(48): error C2061: синтаксическая ошибка: идентификатор "USHORT"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,359
Завершенные тесты: 3
21.09.2013, 18:13     Компилятор ругается на USHORT * #2
Dimka-novitsek, что за тип такой USHORT? из Win? Тогда #include <Windows.h>
zenw
154 / 110 / 3
Регистрация: 12.06.2013
Сообщений: 168
21.09.2013, 18:13     Компилятор ругается на USHORT * #3
USHORT - это не стандартный тип, С++, а, скорее всего, макрос где-то в <windows.h> или еще где-то. Возможно, вы этот хидер (windows.h) забыли подключить.

Не по теме:

указателя)

lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
21.09.2013, 18:22     Компилятор ругается на USHORT * #4
Dimka-novitsek, как я понял - это тип данных из C#. В С++ такого типа нет. Можно заменить USHORT на unsigned short. ushort (справочник по C#)
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 19:22  [ТС]     Компилятор ругается на USHORT * #5
СПАСИБО!!!!!!!

Добавлено через 35 минут
Вот зараза! Сталот ругаться на строку, первую в майне, где точки,я понимаю, быть не должно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Rectangle::~Rectangle()
 {}
 
 int main()
 
 {
    Rectangle theRect;
    cout << "theRect is " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is " << theRect.GetWidth() << " meters wide.\n";
    theRect.SetLength(20);
    theRect.SetWidth(10);
    cout << "theRect is " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is " << theRect.GetWidth() << " meters wide.\n";
    USHORT * pInt = new USHORT;
    *pInt = 10;
    cout << "*pInt; " << *pInt << endl;
    delete pInt;
   long * pLong = new long;
   *pLong = 90000;
     cout << "*pLong: " << *pLong << endl;
   *pInt = 20; 
   cout << "*pInt: " << *pInt << endl;
     cout << "*pLong: " << *pLong << endl;
    delete pLong;
    system("pause");return 0;
 
 }
1>d:\проги\указателя\указателя\указателя.cpp(43): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "theRect"
1>d:\проги\указателя\указателя\указателя.cpp(43): warning C4551: в вызове функции отсутствует список аргументов
1>d:\проги\указателя\указателя\указателя.cpp(43): error C2065: theRect: необъявленный идентификатор
1>d:\проги\указателя\указателя\указателя.cpp(44): error C2065: theRect: необъявленный идентификатор
1>d:\проги\указателя\указателя\указателя.cpp(44): error C2228: выражение слева от ".GetLength" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'

Добавлено через 2 минуты
после подключения #include<windows.h>
gray_fox
What a waste!
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,359
Завершенные тесты: 3
21.09.2013, 19:39     Компилятор ругается на USHORT * #6
Dimka-novitsek, покажи весь код, так только понятно что обращаешься к уже освобождённой памяти:
C++
1
2
3
4
delete pInt;
// ...
*pInt = 20; 
cout << "*pInt: " << *pInt << endl;
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 20:00  [ТС]     Компилятор ругается на USHORT * #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Указатель this
  #include <string> 
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. Просто подключите это файл вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
#include<windows.h> 
typedef unsigned short int USHORT;
 
 
 
  class Rectangle
 
  {
 
  public:
 
     Rectangle();
    ~Rectangle();
 void SetLength(int length) { this->itsLength = length; }
 int GetLength() const { return this->itsLength; }
 void SetWidth(int width) { itsWidth = width; }
 int GetWidth() const { return itsWidth; }
 int itsLength;
 int itsWidth;
 };
 
 Rectangle::Rectangle()
{
    itsWidth = 5;
    itsLength = 10;
 }
 
 Rectangle::~Rectangle()
 {}
 
 int main()
 
 {
    Rectangle theRect;
    cout << "theRect is " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is " << theRect.GetWidth() << " meters wide.\n";
    theRect.SetLength(20);
    theRect.SetWidth(10);
    cout << "theRect is " << theRect.GetLength() << " meters long.\n";
    cout << "theRect is " << theRect.GetWidth() << " meters wide.\n";
    USHORT * pInt = new USHORT;
    *pInt = 10;
    cout << "*pInt; " << *pInt << endl;
    delete pInt;
   long * pLong = new long;
   *pLong = 90000;
     cout << "*pLong: " << *pLong << endl;
   *pInt = 20; 
   cout << "*pInt: " << *pInt << endl;
     cout << "*pLong: " << *pLong << endl;
    delete pLong;
    system("pause");return 0;
 
 }
Пожалуста.
gray_fox
What a waste!
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,359
Завершенные тесты: 3
21.09.2013, 20:04     Компилятор ругается на USHORT * #8
Dimka-novitsek, хз, возможно какие-нибудь макросы из Windows.h всё ломают. Так всё в компилируется: http://ideone.com/M6h9EI
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
21.09.2013, 20:12     Компилятор ругается на USHORT * #9
Dimka-novitsek, у тебя действительно проблема из-за windows.h, потому что в wingdi.h есть функция
C++
1
WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
Убери этот хидер из инклюдов и будет тебе счастье И замени тогда чем-нибудь другим
C++
1
system("pause");
Благо вариантов предостаточно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 20:14     Компилятор ругается на USHORT *
Еще ссылки по теме:

Ругается компилятор C++
C++ Компилятор не ругается
Компилятор ругается на fopen C++
Компилятор ругается C++
C++ Компилятор ругается на fopen

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 20:14  [ТС]     Компилятор ругается на USHORT * #10
СПАСИБО!!!
Yandex
Объявления
21.09.2013, 20:14     Компилятор ругается на USHORT *
Ответ Создать тему
Опции темы

Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru