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

компилятор пропускает строчки с инициализацией - C++

Войти
Регистрация
Восстановить пароль
 
siberx
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 11
08.05.2009, 13:37     компилятор пропускает строчки с инициализацией #1
здравствуйте!
Копмилятор пропускает строчки с инициализацией переменных. При попытке поставить маркер, переносит этот маркер на строчку ниже. Переменные при этом инициализируются какими-то левыми значениями. В чем может быть проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yurii_74
paladin
 Аватар для Yurii_74
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
08.05.2009, 14:03     компилятор пропускает строчки с инициализацией #2
Код можно увидеть? Как проходит инициализация?

C
1
2
3
4
5
int main (void)
{
  int i=1;
  
}
-должно работать.

Или же вне мейна нечто подобное?

int i;
i=1;
siberx
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 11
08.05.2009, 14:12  [ТС]     компилятор пропускает строчки с инициализацией #3
C++
1
2
3
4
5
6
7
TRoute InitRoute;
GeoPoint from;
GeoPoint to;
from.La=7;
from.Fi=124;
to.La=61; 
to.Fi=16;
RoutePlanner.findRoute(from, to, InitRoute);


Это кусок кода внутри мейна.Таким образом исполняется первые 3 и последняя строчка куска.
Otaka
 Аватар для Otaka
1820 / 676 / 19
Регистрация: 11.12.2008
Сообщений: 1,019
08.05.2009, 14:13     компилятор пропускает строчки с инициализацией #4
Ха у меня тоже такое было на С++Билдере 2007. Никак не мог понять в чем проблема. Элементарная прога никак не хотела работать. При отладке увидел, что пропускались строчки с инициализацией переменных, а также строка i++. Я потом взял и поменял эти строки местами. И все заработало.
А недавно вообще прикол был(С++Билдер 6)
вот такой код:
C++
1
2
3
int r=scan[X+X+X+2];
int g=scan[X+X+X+1];
int b=scan[X+X+X+0];
показывает на первую строчку и говорит "Внутренняя ошибка компилятора".
после того, как я заменил на:
C++
1
2
3
int g=scan[X+X+X+1];//только почему я не присвоил X+X+X какой-нибудь переменной?
int r=scan[X+X+X+2];
int b=scan[X+X+X+0];
Все стало работать как следует. Чудеса.
siberx
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 11
08.05.2009, 14:17  [ТС]     компилятор пропускает строчки с инициализацией #5
Ну не знаю.. VS2005
менять строчки местами не помогает,переносить в другое место тоже((
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
08.05.2009, 14:39     компилятор пропускает строчки с инициализацией #6
siberx, Код можно увидеть??
siberx
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 11
08.05.2009, 14:49  [ТС]     компилятор пропускает строчки с инициализацией #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int _tmain( int argc, _TCHAR * argv[] )
{
 
    <...>
 
        // loading initial route
        TRoute InitRoute;
        GeoPoint from;
        GeoPoint to;
        from.La=7;
        from.Fi=124;
        to.La=61; 
        to.Fi=16;
        RoutePlanner.findRoute(from, to, InitRoute);
          <...>
ну и т д
Yurii_74
paladin
 Аватар для Yurii_74
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
08.05.2009, 15:40     компилятор пропускает строчки с инициализацией #8
В классе GeoPoint La и Fi находятся в public? Если да, то я не понимаю с чем может быть связано подобное поведение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2009, 15:57     компилятор пропускает строчки с инициализацией
Еще ссылки по теме:

Написать класс для динамического массива с проверкой границ (что подразумевают под инициализацией?) C++
Компилятор пропускает цикл C++
Wchar_t двумерный массив с инициализацией C++
Объясните пример с decltype, инициализацией контейнера map, по работе for_each и copy C++
C++ Компилятор пропускает цикл

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

Или воспользуйтесь поиском по форуму:
siberx
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 11
08.05.2009, 15:57  [ТС]     компилятор пропускает строчки с инициализацией #9
Ну, учитывая что Geopoint это вообще структура..))
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
struct GeoPoint
{
  long La;
  long Fi;
 
  //{
  GeoPoint (eUninit);
  GeoPoint ();
  GeoPoint (int  Fi, int  La);
  GeoPoint (long Fi, long La);
  GeoPoint (double Fi, double La, int inRad=TRUE);
  GeoPoint (const RealGeoPoint& RGP);
  GeoPoint (const GeoPoint& GP);
  GeoPoint (const char* pszFi, const char* pszLa);
 
  GeoPoint& operator = (const GeoPoint& GP);
  GeoPoint& operator = (const RealGeoPoint& RGP);
 
  GeoPoint& transformEllipsoid(
    EGeoEllipsoidType oldEllps,
    EGeoEllipsoidType newEllps);
  GeoPoint Ell2Ell(
    EGeoEllipsoidType oldEllps,
    EGeoEllipsoidType newEllps);
 
  char* lonToStr (char* pszLa) const;
  char* latToStr (char* pszFi) const;
  int   strToLon (const char* pszLa);
  int   strToLat (const char* pszFi);
  void geoToStr (char* pszLa, char* pszFi) const;
  int  strToGeo (const char* pszLa, const char* pszFi);
 
  GeoPoint& operator += (const GeoPoint& gpDelta);
  GeoPoint& operator -= (const GeoPoint& gpDelta);
 
  bool operator ! () const;
  bool isValid () const;
  operator bool () const;
 
  #ifdef _DEBUG
  const char* debug_print() const;
  #endif
  //}
};
Yandex
Объявления
08.05.2009, 15:57     компилятор пропускает строчки с инициализацией
Ответ Создать тему
Опции темы

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