Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 12:44
Оценка:
Почему после этой строчки (сабж) а == 0х00000000; ерунда какая-то
Re: Глюк с (unsigned short* a = new unsigned short[2];)
От: screw_cms Россия ICQ: 168185721
Дата: 12.11.03 12:48
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Почему после этой строчки (сабж) а == 0х00000000; ерунда какая-то


Попробовал тестовый примерчик — у меня a == 0x002f1000...
When in doubt, use brute force. © Ken Thompson

Re: Глюк с (unsigned short* a = new unsigned short[2];)
От: BOPOH_N Россия  
Дата: 12.11.03 12:49
Оценка:
Приведи полный кусок кода.
В искустве летать есть один маленький секрет. Секрет этот в том,чтобы бросить себя изо всех сил на землю — и не попасть. Выберете погожий денек и попробуйте сами.
Re[2]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 12:50
Оценка:
Здравствуйте, screw_cms, Вы писали:

_>Здравствуйте, Amon-RA, Вы писали:


AR>>Почему после этой строчки (сабж) а == 0х00000000; ерунда какая-то


_>Попробовал тестовый примерчик — у меня a == 0x002f1000...


Так в том то и дело, что у меня такая штука в двух местах. В одном не NULL, а другом NULL
Re[2]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 12:51
Оценка:
Здравствуйте, BOPOH_N, Вы писали:


BOP>Приведи полный кусок кода.


{
unsigned short* trInd = new unsigned short[2];
trInd[0] = (unsigned short)uCount;
trInd[1] = (unsigned short)vCount;
.......
Re[3]: Глюк с (unsigned short* a = new unsigned short[2];)
От: sercher Украина  
Дата: 12.11.03 12:55
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Здравствуйте, BOPOH_N, Вы писали:



BOP>>Приведи полный кусок кода.


AR>{

AR>unsigned short* trInd = new unsigned short[2];
AR>trInd[0] = (unsigned short)uCount;
AR>trInd[1] = (unsigned short)vCount;
AR>.......


Это самый полный кусок кода, который я когда-либо видел
Re[4]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 12:57
Оценка:
Здравствуйте, sercher, Вы писали:

S>Здравствуйте, Amon-RA, Вы писали:


AR>>Здравствуйте, BOPOH_N, Вы писали:



BOP>>>Приведи полный кусок кода.


AR>>{

AR>>unsigned short* trInd = new unsigned short[2];
AR>>trInd[0] = (unsigned short)uCount;
AR>>trInd[1] = (unsigned short)vCount;
AR>>.......


S> Это самый полный кусок кода, который я когда-либо видел


Смешно. Но зачем приводить то, что не имеет оотношения к делу. До этого и после этого нет ничего что так влияло бы на trInd
Re[3]: Глюк с (unsigned short* a = new unsigned short[2];)
От: BOPOH_N Россия  
Дата: 12.11.03 12:58
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Здравствуйте, BOPOH_N, Вы писали:



BOP>>Приведи полный кусок кода.


AR>{

AR>unsigned short* trInd = new unsigned short[2];
AR>trInd[0] = (unsigned short)uCount;
AR>trInd[1] = (unsigned short)vCount;
AR>.......

Это не есть полный код

Попробуй перекомпилять весь проект
В искустве летать есть один маленький секрет. Секрет этот в том,чтобы бросить себя изо всех сил на землю — и не попасть. Выберете погожий денек и попробуйте сами.
Re[4]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 13:01
Оценка:
Здравствуйте, BOPOH_N, Вы писали:

BOP>Здравствуйте, Amon-RA, Вы писали:


AR>>Здравствуйте, BOPOH_N, Вы писали:



BOP>>>Приведи полный кусок кода.


AR>>{

AR>>unsigned short* trInd = new unsigned short[2];
AR>>trInd[0] = (unsigned short)uCount;
AR>>trInd[1] = (unsigned short)vCount;
AR>>.......

BOP>Это не есть полный код


BOP>Попробуй перекомпилять весь проект


Перекомпилял. Щас застрелюсь
Re[5]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Lorenzo_LAMAS  
Дата: 12.11.03 13:03
Оценка:
AR>Смешно. Но зачем приводить то, что не имеет оотношения к делу. До этого и после этого нет ничего что так влияло бы на trInd

Ну так если ты напишешь такое

int main()
AR>>>{
AR>>>unsigned short* trInd = new unsigned short[2];
AR>>>trInd[0] = (unsigned short)uCount;
AR>>>trInd[1] = (unsigned short)vCount;
AR>>>}



У тебя что, тоже нули????
Of course, the code must be complete enough to compile and link.
Re[3]: Глюк с (unsigned short* a = new unsigned short[2];)
От: sercher Украина  
Дата: 12.11.03 13:05
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Здравствуйте, screw_cms, Вы писали:


_>>Здравствуйте, Amon-RA, Вы писали:


AR>>>Почему после этой строчки (сабж) а == 0х00000000; ерунда какая-то


_>>Попробовал тестовый примерчик — у меня a == 0x002f1000...


AR>Так в том то и дело, что у меня такая штука в двух местах. В одном не NULL, а другом NULL


90% — где-то затирается память, выходишь за рамки массива, освобождаешь преждевременно...
Re[6]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 13:07
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

AR>>Смешно. Но зачем приводить то, что не имеет оотношения к делу. До этого и после этого нет ничего что так влияло бы на trInd


L_L>Ну так если ты напишешь такое


L_L>
L_L>int main()
AR>>>>{
AR>>>>unsigned short* trInd = new unsigned short[2];
AR>>>>trInd[0] = (unsigned short)uCount;
AR>>>>trInd[1] = (unsigned short)vCount;
AR>>>>}
L_L>



L_L>У тебя что, тоже нули????


Нет, не нули. Вот полный кусок (ну почти полный)

              int vertCount = 4;
          float* vertCoo = new float[vertCount*3];
          float* vertNorm = new float[vertCount*3];
          MyVector center(0,0,5);
          for(int ct = 0, index = 0; ct < vertCount; ct++, index += 3) 
          {
            MyVector pos(ct,ct,index);
            pos.subtract(center);
            vertCoo[index  ] = (float)pos.getX();
            vertNorm[index  ] = 0.0;
            vertCoo[index+1] = (float)pos.getY();
            vertNorm[index+1] = 0.0;
            vertCoo[index+2] = (float)pos.getZ();
            vertNorm[index+2] = 1.0;
          }
          float* vertMap = new float[vertCount*2];
          int  uCount = 4;
          int  vCount = 4;
          float vStep = 1.0f/(vCount-1);
          float uStep = 1.0f/(uCount-1);
          int v;
          for( v = 0, index = 0; v < vCount; v++) 
          {
            float vConst = v*vStep;
            for(int u = 0; u < uCount; u++, index += 2) 
            {
              vertMap[index  ] = u*uStep;
              vertMap[index+1] = vConst;
            }
          }
/*******************************************/
          unsigned short* trInd = new unsigned short[2];
          trInd[0] = (unsigned short)uCount;
          trInd[1] = (unsigned short)vCount;
/********************************************/
          CShape*  shp;
          shp = new CShape(
            vertCount,vertCoo,vertNorm,vertMap,0,trInd,true,true
          );
          msh = new CMesh(shp);
          getWorld().addObject(msh);;


ПОМОГИТЕЕЕЕЕ
Re[5]: Глюк с (unsigned short* a = new unsigned short[2];)
От: BOPOH_N Россия  
Дата: 12.11.03 13:07
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Здравствуйте, BOPOH_N, Вы писали:


BOP>>Здравствуйте, Amon-RA, Вы писали:


AR>>>Здравствуйте, BOPOH_N, Вы писали:



BOP>>>>Приведи полный кусок кода.


AR>>>{

AR>>>unsigned short* trInd = new unsigned short[2];
AR>>>trInd[0] = (unsigned short)uCount;
AR>>>trInd[1] = (unsigned short)vCount;
AR>>>.......

BOP>>Это не есть полный код


BOP>>Попробуй перекомпилять весь проект


AR>Перекомпилял. Щас застрелюсь


Извени, а может у тебя все-же че-то типа:


unsigned short* trInd =0;
..........
{unsigned short* trInd = new unsigned short[2];}
trInd[0] = (unsigned short)uCount;
trInd[1] = (unsigned short)vCount

;
В искустве летать есть один маленький секрет. Секрет этот в том,чтобы бросить себя изо всех сил на землю — и не попасть. Выберете погожий денек и попробуйте сами.
Re[6]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 13:09
Оценка:
Здравствуйте, BOPOH_N, Вы писали:



          int vertCount = 4;
          float* vertCoo = new float[vertCount*3];
          float* vertNorm = new float[vertCount*3];
          MyVector center(0,0,5);
          for(int ct = 0, index = 0; ct < vertCount; ct++, index += 3) 
          {
            MyVector pos(ct,ct,index);
            pos.subtract(center);
            vertCoo[index  ] = (float)pos.getX();
            vertNorm[index  ] = 0.0;
            vertCoo[index+1] = (float)pos.getY();
            vertNorm[index+1] = 0.0;
            vertCoo[index+2] = (float)pos.getZ();
            vertNorm[index+2] = 1.0;
          }
          float* vertMap = new float[vertCount*2];
          int  uCount = 4;
          int  vCount = 4;
          float vStep = 1.0f/(vCount-1);
          float uStep = 1.0f/(uCount-1);
          int v;
          for( v = 0, index = 0; v < vCount; v++) 
          {
            float vConst = v*vStep;
            for(int u = 0; u < uCount; u++, index += 2) 
            {
              vertMap[index  ] = u*uStep;
              vertMap[index+1] = vConst;
            }
          }
/*******************************************/
          unsigned short* trInd = new unsigned short[2];
          trInd[0] = (unsigned short)uCount;
          trInd[1] = (unsigned short)vCount;
/********************************************/
          CShape*  shp;
          shp = new CShape(
            vertCount,vertCoo,vertNorm,vertMap,0,trInd,true,true
          );
          msh = new CMesh(shp);
          getWorld().addObject(msh);;
Re[7]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Lorenzo_LAMAS  
Дата: 12.11.03 13:10
Оценка:
[ccode]
AR>/*******************************************/
AR> unsigned short* trInd = new unsigned short[2];
AR> trInd[0] = (unsigned short)uCount;
AR> trInd[1] = (unsigned short)vCount;
AR>/********************************************/
//здесь то не 0?
AR> CShape* shp;
AR> shp = new CShape(
AR> vertCount,vertCoo,vertNorm,vertMap,0,trInd,true,true
AR> );
AR> msh = new CMesh(shp);
AR> getWorld().addObject(msh);;
//а здесь ?
[/code]
Of course, the code must be complete enough to compile and link.
Re[8]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 13:11
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>[ccode]

AR>>/*******************************************/
AR>> unsigned short* trInd = new unsigned short[2];
AR>> trInd[0] = (unsigned short)uCount;
AR>> trInd[1] = (unsigned short)vCount;
AR>>/********************************************/
L_L>//здесь то не 0?
AR>> CShape* shp;
AR>> shp = new CShape(
AR>> vertCount,vertCoo,vertNorm,vertMap,0,trInd,true,true
AR>> );
AR>> msh = new CMesh(shp);
AR>> getWorld().addObject(msh);;
L_L>//а здесь ?
L_L>[/code]

Так я и говорю, что ноль сразу после new unsigned short[2];
Re[7]: Глюк с (unsigned short* a = new unsigned short[2];)
От: sercher Украина  
Дата: 12.11.03 13:13
Оценка:
Имеется ввиду код, где выделяется память и те места где ты сравниваешь её. А так понятно, что всё ОК, разве что ты в конструктор CShape() по-ссылке передаёшь и там обнуляешь.
Re[9]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Lorenzo_LAMAS  
Дата: 12.11.03 13:14
Оценка:
Ну, значит, ты как то умудрился всю память исчерпать? Кстати, new Должен исключение бросить
Of course, the code must be complete enough to compile and link.
Re[8]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Amon-RA  
Дата: 12.11.03 13:15
Оценка:
Здравствуйте, sercher, Вы писали:


S> Имеется ввиду код, где выделяется память и те места где ты сравниваешь её. А так понятно, что всё ОК, разве что ты в конструктор CShape() по-ссылке передаёшь и там обнуляешь.


ЛЮДИИИИИИ Я не дохожу до CShape. Я вылетаю на trInd[0]=.....
Re[9]: Глюк с (unsigned short* a = new unsigned short[2];)
От: Lorenzo_LAMAS  
Дата: 12.11.03 13:17
Оценка:
AR>ЛЮДИИИИИИ Я не дохожу до CShape. Я вылетаю на trInd[0]=.....

Значит память всю сожрал!
Of course, the code must be complete enough to compile and link.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.