Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Компилятор не находит функцию rand()


Автор: BBulat 11.6.2010, 11:56
Извините, что создал тему по такому пустяку, просто никак не могу воспользоваться функцией rand(). Делаю все, как в msdn, пробовал в VS6 и VS8, в обоих случаях 'rand' : undeclared identifier. Как будто не подключен stdlib.h, но он подключен и более того, я пробовал запустить пример из msdn - аналогичная ошибка.
вот как я использую rand() в консольном приложении:
Код

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "stdafx.h"

const int u = 10;

void main()
{
    int RANGE_MIN = 700;
              int RANGE_MAX = 1300;
    for(int i=0; i<u;i++)
    {  
        int rand0 = (((double) rand() / (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
        printf( "  %6d\n", rand0);
              }
}

Заранее благодарен!

Автор: Albor 11.6.2010, 13:06
Попробовал в 8й студии, даже подключать stdlib.h не пришлось - всё видится.

Автор: ИванМ 14.6.2010, 20:18
BBulat, напишите все инклуды за исключением "stdafx.h" внутри файла "stdafx.h" и все будет работать. Не работает, потому что вы используете precompiled headers.
И еще почитайте про новый стиль заголовков. И функцию main пишите с возвращаемым значением int, а не void. Это к делу не относится, но так, для развития.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)