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

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

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

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

21.09.2013, 18:10. Просмотров 574. Ответов 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"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 18:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Компилятор ругается на USHORT * (C++):

Компилятор не знает тип ushort - C++
Здравствуйте. Увидел тип ushort в учебнике,сперва не понял,что за тип такой,но потом узнал,что это просто сокращённый вариант unsigned...

ругается компилятор: - C++
#include <stdio.h> #include <iostream> #include <process.h> #include <conio.h> #include <math.h> float a,b; ...

Компилятор ругается - C++
Условие Создать класс, содержащий сведения о количестве изделий, собранный сборщиками цеха за неделю. Класс должен содержать следующие...

Компилятор не ругается - C++
Компилятор по разному реагирует на 2 указателя на строки (см.комментарии). В связи с этим появился вопрос - где хранятся аргументы...

Ругается компилятор - C++
Компилирую программу: // Proba2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <vector>...

Ругается компилятор - C++
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток....

9
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
21.09.2013, 18:13 #2
Dimka-novitsek, что за тип такой USHORT? из Win? Тогда #include <Windows.h>
1
zenw
154 / 110 / 3
Регистрация: 12.06.2013
Сообщений: 168
21.09.2013, 18:13 #3
USHORT - это не стандартный тип, С++, а, скорее всего, макрос где-то в <windows.h> или еще где-то. Возможно, вы этот хидер (windows.h) забыли подключить.

Не по теме:

указателя)

1
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
21.09.2013, 18:22 #4
Dimka-novitsek, как я понял - это тип данных из C#. В С++ такого типа нет. Можно заменить USHORT на unsigned short. ushort (справочник по C#)
1
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 19:22  [ТС] #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>
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
21.09.2013, 19:39 #6
Dimka-novitsek, покажи весь код, так только понятно что обращаешься к уже освобождённой памяти:
C++
1
2
3
4
delete pInt;
// ...
*pInt = 20; 
cout << "*pInt: " << *pInt << endl;
1
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 20:00  [ТС] #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;
 
 }
Пожалуста.
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
21.09.2013, 20:04 #8
Dimka-novitsek, хз, возможно какие-нибудь макросы из Windows.h всё ломают. Так всё в компилируется: http://ideone.com/M6h9EI
0
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
21.09.2013, 20:12 #9
Dimka-novitsek, у тебя действительно проблема из-за windows.h, потому что в wingdi.h есть функция
C++
1
WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
Убери этот хидер из инклюдов и будет тебе счастье И замени тогда чем-нибудь другим
C++
1
system("pause");
Благо вариантов предостаточно.
1
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
21.09.2013, 20:14  [ТС] #10
СПАСИБО!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 20:14
Привет! Вот еще темы с ответами:

компилятор с++ 2012 ругается - C++
Алгоритмы накопления y=x - sqrt(abs(x)); x=(0.98,0.52,0.77,-0.67,-0.14); n=5 #include &quot;stdafx.h&quot; #include...

Компилятор ругается на цикл for - C++
Есть код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;sstream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;iterator&gt; ...

почему компилятор не ругается? - C++
Почему компилятор не ругается, когда я исп. неинициализированную переменную и кладёт автоматически туда мусор. (см..коменатрий в коде): ...

Компилятор ругается на синтаксис - C++
cout &lt;&lt; &quot;Введите значение длины в заданных единицах: m, cm, ft, in: &quot; &lt;&lt; '\n'; for (i=0;i&lt;100;++i){ cin &gt;&gt; length &gt;&gt; len_unit; ...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
21.09.2013, 20:14
Ответ Создать тему
Опции темы

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