Пятница, 15 Ноября 2024, 11:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
pelmenkaДата: Понедельник, 29 Апреля 2013, 18:47 | Сообщение # 841
Драгоценный Тунеядец
Сейчас нет на сайте
Deswing, чем тебе простой 3+4 не угодил?

Сталина в каждый дом!
Revolver_45Дата: Понедельник, 29 Апреля 2013, 19:22 | Сообщение # 842
почетный гость
Сейчас нет на сайте
Первый вариант это по сути и есть простая операция 3 + 4, всё что ты сделал это злоупотребил директивой препроцессора, это не конструкция языка, и это НЕ переменная, а всего-лишь именованная константа. Препроцессор ещё ДО компиляции заменит в твоём коде все подстроки sum(a,b) на простые операции 3 + 4.
В ДАННОМ примере оба твои варианта не обоснованы, но ФОРМАЛЬНО первый вариант лучше (быстрее).


rtytyrtyr

Сообщение отредактировал Revolver_45 - Понедельник, 29 Апреля 2013, 19:30
NoterstoneДата: Среда, 01 Мая 2013, 17:53 | Сообщение # 843
участник
Сейчас нет на сайте
Чёта я не понял, либо это я туплю от недосыпа, либо это мистика. Где ошибка?

Доступно только для пользователей

Добавлено (01.05.2013, 17:53)
---------------------------------------------
Да емаё все же нормально

#include <conio.h>
#include <iostream>

using namespace std;

int func(int &nVariable){
nVariable /= 2;
return nVariable;
}

int main(){
int value = 100;
func(value, value * 5, value / 2);
cout << value;
cin.get();
}

Сообщение отредактировал Noterstone - Среда, 01 Мая 2013, 17:22
PixoDroidДата: Среда, 01 Мая 2013, 18:35 | Сообщение # 844
был не раз
Сейчас нет на сайте
Цитата (Noterstone)
obj.x

что это такое? :)

Добавлено (01.05.2013, 18:29)
---------------------------------------------
Цитата (Noterstone)
int func(int &nVariable){

Цитата (Noterstone)
func(value, value * 5, value / 2);

слишком много параметров.

Добавлено (01.05.2013, 18:35)
---------------------------------------------
Откуда там вообще obj? понял.




Сообщение отредактировал PixoDroid - Среда, 01 Мая 2013, 18:38
RUNGOGET2THECHOPAHДата: Среда, 01 Мая 2013, 22:11 | Сообщение # 845
участник
Сейчас нет на сайте
Noterstone,
Первое: error C2065: 'obj' : undeclared identifier.
Второе: error C2660: 'func' : function does not take 3 arguments.
Дальше сам думай, почему не собирается. Но лучше сначала поспи.


Сообщение отредактировал RUNGOGET2THECHOPAH - Среда, 01 Мая 2013, 22:13
NoterstoneДата: Суббота, 04 Мая 2013, 09:51 | Сообщение # 846
участник
Сейчас нет на сайте
RUNGOGET2THECHOPAH, Насчёт первого и второго я уже по самое горло осведомлён компилятором, а вопрос стоял такой - как эту ошибку исправить. Точнее объяснить на русском что он хочет.
Lord_ZeonДата: Суббота, 04 Мая 2013, 10:16 | Сообщение # 847
частый гость
Сейчас нет на сайте
Noterstone,
Головой думать разучились? Или же пробел в знаниях? И даже намеки на тебя не действуют.
Цитата
Первое: error C2065: 'obj' : undeclared identifier.
- Очевидно что компилятор намекает на отсутствие 'obj', он у тебя ни в каком месте не объявлен и не определен.
Цитата
Второе: error C2660: 'func' : function does not take 3 arguments.
- Компилятор говорит функция не имеет 3 аргументов, а теперь посмотри сам на нее int func(int &nVariable), сколько здесь аргументов? Правильно, один, а мы что делаем?

Как вообще можно писать такое, самому не стыдно?
NoterstoneДата: Суббота, 04 Мая 2013, 11:11 | Сообщение # 848
участник
Сейчас нет на сайте
Lord_Zeon, Значит это тут не правильно?


Сообщение отредактировал Noterstone - Суббота, 04 Мая 2013, 11:11
Lord_ZeonДата: Суббота, 04 Мая 2013, 11:35 | Сообщение # 849
частый гость
Сейчас нет на сайте
Noterstone,
В первом примере на сайте все правильно, ты переписал с ошибкой, проверяй.

Во втором возможно автор хотел рассказать о функциях с переменным количеством переменных, выглядит это так:
type function(type name, ...); где type - тип переменной, name - ее имя. Тогда пример заработает и все будет так, как и описывал автор темы на сайте.


Сообщение отредактировал Lord_Zeon - Суббота, 04 Мая 2013, 11:58
NoterstoneДата: Суббота, 04 Мая 2013, 11:47 | Сообщение # 850
участник
Сейчас нет на сайте
Lord_Zeon, Ок, проверю. Наверное когда писал код слишком хотел спать. biggrin
XakepДата: Суббота, 04 Мая 2013, 12:14 | Сообщение # 851
めちゃくちゃちゃ
Сейчас нет на сайте
Noterstone, используй гугл переводчик, и если все же не понял в чем ошибка, тогда в гугл вбей ошибку
Animan2010Дата: Пятница, 10 Мая 2013, 17:57 | Сообщение # 852
постоянный участник
Сейчас нет на сайте
А почему нельзя использовать:
hgeSprite* _left_spr,_right_spr;
а вместо этого надо:
hgeSprite *_left_spr,*_right_spr;
?


Anima Games
Animan Publishing
Lord_ZeonДата: Пятница, 10 Мая 2013, 18:07 | Сообщение # 853
частый гость
Сейчас нет на сайте
Цитата
hgeSprite* _left_spr, _right_spr;

В этом случае _right_spr не является указателем.
x_XДата: Пятница, 10 Мая 2013, 23:00 | Сообщение # 854
был не раз
Сейчас нет на сайте
Цитата (Lord_Zeon)
А почему нельзя использовать:
hgeSprite* _left_spr,_right_spr;

звездочка относится не к типу, а к переменной, пиши звезду рядом с переменной, так нагляднее :
Код

hgeSprite *_left_spr, *_right_spr;


Сообщение отредактировал x_X - Пятница, 10 Мая 2013, 23:00
WolflingДата: Воскресенье, 12 Мая 2013, 17:21 | Сообщение # 855
был не раз
Сейчас нет на сайте
Господа, помогите решить проблему. Есть часть кода
Код
AdjustWindowRectEx( &WindowRect, dwStyle, false, dwExStyle );      // Подбирает окну подходящие размеры
      if( !( hWnd == CreateWindowEx(  dwExStyle,          // Расширенный стиль для окна
         "OpenGL",          // Имя класса
         title,            // Заголовок окна
         WS_CLIPSIBLINGS|WS_CLIPCHILDREN|  // Требуемый стиль для окна
         dwStyle,          // Выбираемые стили для окна
         0, 0,            // Позиция окна
         WindowRect.right-WindowRect.left,    // Вычисление подходящей ширины
         WindowRect.bottom-WindowRect.top,    // Вычисление подходящей высоты
         NULL,            // Нет родительского
         NULL,            // Нет меню
         hInstance,          // Дескриптор приложения
         NULL ) ) )          // Не передаём ничего до WM_CREATE (???)

взятая отсюда
, проблема в том, что при компиляции выдаёт ошибку
Цитата
[BCC32 Error] Unit.cpp(184): E2034 Cannot convert 'const wchar_t *' to 'const char *'
[BCC32 Error] Unit.cpp(184): E2342 Type mismatch in parameter 'lpWindowName' (wanted 'const char *', got 'const wchar_t *')

в строке
Код
NULL ) ) )          // Не передаём ничего до WM_CREATE (???)

хотя в хэлпе прямо написано, что NULL допустим, плюс я знаю, что NULL не надо приводить ни к какому виду.
P.S. Смотрел оригинал статьи - там так же.


Сообщение отредактировал Wolfling - Воскресенье, 12 Мая 2013, 17:39
kSky7000Дата: Воскресенье, 12 Мая 2013, 18:04 | Сообщение # 856
частый гость
Сейчас нет на сайте
Wolfling, Есть предположение, что ошибка здесь:
Код
title,            // Заголовок окна

Попробуй title задать как конст. строку, а не передавать переменную. Можешь вбить "title". Возможно поможет, хотя я не уверен. С этими функциями не работал.
WolflingДата: Понедельник, 13 Мая 2013, 12:38 | Сообщение # 857
был не раз
Сейчас нет на сайте
Цитата (kSky7000)
Попробуй title задать как конст. строку, а не передавать переменную. Можешь вбить "title". Возможно поможет, хотя я не уверен. С этими функциями не работал.

На удивление - помогло о_О Спасибо, хотя я не понял, в чём фишка была... Компилятор же на другую строку указывал о_О
Shevron_7Дата: Пятница, 17 Мая 2013, 22:09 | Сообщение # 858
маньяк-бомбист
Сейчас нет на сайте
Как вывести на экран среднее арифметическое всех положительных чисел в массиве?

Добавлено (17.05.2013, 22:09)
---------------------------------------------
все, сам понял:
Код
  for(int o = 0 ; o < m ; o++ )
    {
      if(mas[o]>0)
   {
      summa += mas[o];   
      count++;
      }
    }


TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1


Сообщение отредактировал Shevron_7 - Пятница, 17 Мая 2013, 22:10
GameLoperДата: Четверг, 23 Мая 2013, 13:40 | Сообщение # 859
Нуб в гейм-деве
Сейчас нет на сайте
где ошибка?
Код
#include <cstdlib>
#include <iostream>

using namespace std;
int playerx=0;
int playery=0;
const char* graphics[10][10];

int main(int argc, char *argv[])
{
     graphics[1][1]="w";
     graphics[1][2]="w";
     graphics[1][3]="w";
     graphics[1][4]="w";
     system("cls");
     for(int x =0;x<10;x++)
     {
         for(int y =0;y<10;y++)
         {
         cout << graphics[x][y];
         }
         cout << "\n";
     }
     cin.get();
     return EXIT_SUCCESS;
}

Добавлено (23.05.2013, 13:40)
---------------------------------------------
не выводить 4 буквы w


Single of game tycoon = 10%
ApatiДата: Четверг, 23 Мая 2013, 13:48 | Сообщение # 860
заслуженный участник
Сейчас нет на сайте
Цитата (GameLoper)
const char* graphics[10][10];

char graphics[10][10];
Цитата (GameLoper)
"w"

'w'
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг