[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    В 2010 точно такой же пункт меню есть, и точно также она делает отступы. Проверяй свои настройки. Там IntelliSense даже лучше. Надеюсь, ты дождался, пока студия исходники распарсивает при создании проекта... Она пишет, сколько уже распарсилось и сколько осталось, в строке статуса.
     
  2. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Пункт то есть, но все равно форматирует не так, как я хочу. Например:
    PHP:
    int somefunc(){
        return 
    0;
        }
    вместо
    PHP:
    int somefunc(){
        return 
    0;
    }
     
  3. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Проверил у себя на 2008, все работает. Товарищ смотрел в 2010, аналогично.
    Tools -> Options -> Text editor -> C/C++ -> Formatting
     
  4. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    На сколько я знаю в VS очень мало настроек для формат., но в Netbeans'e, можно полностью настроить формат. под свой вкус.
    Формат. функций, классов, препроцессора, пробелов, табуляций, скобок и кучу всего...
     
  5. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Настроек в принципе достаточно. Где они находятся - указали выше. Если хочется больше настроек - ставь Visual Assist или что-то аналогичное. На мой вкус - для 2010 это излишне, для 2008 - напротив, весьма не помешает.
     
  6. sample

    sample New Member

    Joined:
    15 May 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    здравстуйте, мне для всяких опытов нужен исходник простого icq бота на с++, кто сможет написать за небольшую сумму стукните плиз в асю 426745967.
     
  7. edge911

    edge911 Active Member

    Joined:
    21 Feb 2009
    Messages:
    105
    Likes Received:
    142
    Reputations:
    15
    ms visual studio 2010 C++

    хочу запустить калькулятор с помощью ShellExecute(),пишу:
    ShellExecute(NULL,"Open","calc.exe",NULL,NULL,SW_SHOWNORMAL);

    выдает ошибку:
    1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\start\start\start.cpp(150) : error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'int' to 'LPCWSTR'
    1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

    меняю строчку с ShellExecute():

    ShellExecute(NULL,(LPCWSTR)"Open",(LPCWSTR)"calc.exe",NULL,NULL,SW_SHOWNORMAL);

    компилируется без ошибок, но калькулятор не запускается(
    пробовал указать полный путь(к calc.exe) - бестолку(

    хелп плиз)
     
    #5567 edge911, 24 Aug 2010
    Last edited: 24 Aug 2010
  8. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Пиши так:
    PHP:
    ShellExecuteA(NULL,"Open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
    Либо так:
    PHP:
    ShellExecute(NULL,L"Open",L"calc.exe",NULL,NULL,SW_SHOWNORMAL);
    Либо так:
    PHP:
    //вставить это перед всеми заголовками, в самое начало
    #undef UNICODE

    //...

    ShellExecute(NULL,"Open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
    Более универсально:
    PHP:
    ShellExecute(NULL,TEXT("Open"),TEXT("calc.exe"),NULL,NULL,SW_SHOWNORMAL);
     
    1 person likes this.
  9. swt1

    swt1 Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    306
    Likes Received:
    78
    Reputations:
    21
    ShellExecute(NULL,L"Open",L"calc.exe",NULL,NULL,SW_SHOWNORMAL); << вот
     
    1 person likes this.
  10. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    Столкнулся с проблемой компилятор пишет
    E2313 Constant expression required
    вот код
    Code:
    TMyThread *Thr[this->thread];
    for(int i=0;i<this->thread;++i){
    Thr[i] = new TMyThread(false);
    }
    
    переменную thread получаю из ini файла.
     
  11. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8

    Code:
    TMyThread *Thr[this->thread];
    протестируй этот код, без for() цикла
     
  12. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Ваша проблема как раз оживленно обсуждалась в соседней теме)

    Посмотрите: https://forum.antichat.ru/thread225411.html

    По теме: ваша запись представляет статический массив, а его размер должен быть заранее определен константой. Как это обойти - читайте в теме по ссылке.
     
  13. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    константу из ini(даже из txt) не получишь :D
     
  14. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8

    на C :

    Code:
    TMyThread **Thr;
    Thr = (TMyThread**)malloc( sizeof(TMyThread*) * this->thread );
    for( int i = 0; i < this->thread; ++i ){
    	Thr[i] = (TMyThread*)malloc( sizeof(TMyThread) );
    }
     
  15. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    2GRRRL Power
    спс я видел эту тему правда не знал что она настолько разрастется, по сабжу как я понял есть два варианта (на примере массива объектов). Первый это объявить кол-во указателей константой (как можно больше но в разцмных приделах и чтоб устанавлемое значение всегда было меньше это константы) и проинициализировать массив указателей, а оставшиеся так и будут висеть без инициализации. Второй вариант твой вот как раз в не не разобрался (может из-за того что только проснулся) получатся у нас есть массив указателей на указатели и его мы можем инициализировать переменной а не константой верно или я что-то не так понял:? В той же теме Irdis говорил о структуре данных хеш и лист что это из себя представляет:? Ну и можно ли ссылку на ресур где об этом можно почитать а то чуствую я "плаваю" в этом вопросе.

    2Irdis
    Я и не говрил что получаю константу из ини файла, смех без причины...

    2R0nin

    Мне говорили что если используешь С++ не стоит выделять памить как в C т.к. приводит к путанице в коде ну и может привести к утечками памяти и обрушению приложения.
     
  16. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Gin, есть всего два варианта. Первый - создать статический массив указателей на объекты, но тогда его размер нужно заранее знать и задать константой. Второй - создать динамический массив с помощью оператора new[], тогда его размер заранее знать необязательно, и можно сделать ровно столько элементов, сколько нам требуется. Дальше - все примеры кода есть в теме, на которую я сослался. Если используем динамический массив, то после того, как он не нужен, следует удалить его с помощью оператора delete[].
     
    1 person likes this.
  17. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    ......
    edited !
     
    #5577 R0nin, 25 Aug 2010
    Last edited: 25 Aug 2010
  18. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Что за алкогольный бред??? Обоснуй.
     
  19. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    Зачем тебе вызывать констуктро/деструктор для того чтобы выделить память для указателя на переменную ( или на указатель) ?
     
  20. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Зачем тебе вызывать фунцию malloc для того, чтобы выделить память для указателя на переменую?

    Code:
    int* i = new int;
    delete i;
    Не будешь ли ты так добр пояснить, какой конструктор и какой деструктор будет в этом случае вызываться?
     
    #5580 Bers, 25 Aug 2010
    Last edited: 25 Aug 2010
Thread Status:
Not open for further replies.