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

Непонятная ошибка. Несколько файлов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка компиляции при включении #include <vector> http://www.cyberforum.ru/cpp-beginners/thread946082.html
Есть контейнер, идентичный std::vector Его код в vvector_vbase.h Если не включать в code.cpp #include <vector> программа компилируется и выдает ожидаемый результат. //vvector_vbase.h // Принципы и практика использования C++ Глава 19 // Principles and Practice Using C++ Chapter 19 #include <iostream> #include <memory>
C++ const_cast для чего и как функционирует Дошел в свой книге (Дейтел) до const_cast, не могу понять смысла, т.к. там нагромождено не нужно кода в примере, в 5 раза больше самого примера, вот я сделал свой пример: const int var = 10; int *ptr = const_cast<int *>(&var); cout << "*ptr: " << *ptr << " ptr: " << ptr << endl; // 10 cout << "var: " << var << " &var: " << &var << endl; // 10 *ptr = 15; http://www.cyberforum.ru/cpp-beginners/thread946080.html
C++ Скачивание html исходника
Здравствуйте) Хочу попросить помощи в следующем: Есть интернет страница с полем ввода данных (номер) после ввода номера на странице (той же) выдается информация о введенном номере Хочу написать программу которая методом перебора будет сохранять информацию о номерах перебор и поиск в исходнике, думаю, осилю сам Хочу лишь знать как сохранять исходники через XCode Пробовал подключать Asio (оно...
C++ NDEBUG и DEBUG
зачем нужны константы NDEBUG и DEBUG?? спасибо.
C++ Исходник чата http://www.cyberforum.ru/cpp-beginners/thread946049.html
Всем приветик!:) Хочу задать вам один глупый вопросик...:) Есть у кого нибудь исходник какого нибудь чата?:) Что то искала, ничего подходящего не нашла...:( В общем, сейчас попробую описать поподробней, как я вижу то, что ищу:) Есть программка. Такая же программка есть ещё у нескольких человек. Я пишу что нибудь и нажимаю кнопку "Отправить" и моё сообщение появляется у всех людей, у кого...
C++ c++ box2d и opencv Работаю на Xcode с openframework, конкретнее с библиотеками box2d и opencv. Задача захватывать контур с помощью opencv и делать его физическим объектом. Добился того что могу получать точки определенного контура так: ofPoint contours; vector <ofPoint> simpleCountour; for(int i = 0; i < contourFinder.nBlobs; i++) { simpleCountour = contourFinder.blobs.at(i).pts; contours =... подробнее

Показать сообщение отдельно
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
30.08.2013, 21:17     Непонятная ошибка. Несколько файлов
один header подключаем в другой(у которого есть .cpp файл) и возникает ошибка!

play1.h
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
45
46
47
48
49
50
51
52
53
 
 
struct card
{
       
       int first; 
       int second; 
       card(int f, int s) : first(f), second(s) {}
       card() : first(0), second(0) {}
       
      
       card& operator=(const card& cop)
       {
             first  = cop.first;
             second = cop.second;
        return *this;
       }
 
       bool operator==(const card& cop)
       {
             if (first == cop.first)
                 return true;
             else return false;
       }
 
       bool operator>(const card& cop)
       {
             if (first > cop.first )
                 return true;
             else return false;
       }
 
       bool operator<(const card& cop)
       {
             if (first < cop.first )
                 return true;
             else return false;
       }
      
};
 
 
bool op(const card& c1, const card& c2)
{
     if (c1.first < c2.first) return true;
     return false;
}
 
bool op2(const card& c1, const card& c2)
{
     if (c1.first == c2.first) return true;
     return false;
}
mypoker.h
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
45
46
47
48
49
50
51
52
53
54
55
56
#include <vector>
#include "play1.h"
using namespace std;
 
typedef vector<card> col_card;
 
class Desk
{
      public:
             Desk();
             
             void refresh();
             card back_card();
             
      private:
              vector<int> desk_c;
};
 
class Player
{
      public:
             Player() : points(0), money(0), inv_money(0) {}
             
             void set_points(long);
             void set_money(int);
             void set_card(card& );
             void set_inv(int);
             
             int get_inv() const { return inv_money;}
             int get_money() const {return money;}
             long get_points() const {return points;}
             card get_card(int i) {return pl_col[i];}
             
      private:
              long points;
              int money;
              col_card pl_col; 
              int inv_money;             
};
 
class Game
{
      public:
             Game(int pl) : pls(pl) {}
             
             void distrib();
             void add_card();
             long det_comb();
             void fcr();
             
             
      private:
              col_card board;
              vector<Player> pls;
              Desk collection;
};
mypoker.cpp

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include "mypoker.h"
#include <ctime>
#include <algorithm>
 
typedef vector<card> col_card;
 
Desk::Desk()
{
    srand(time(0));
            
            for(int i=2; i<54; i++)
                    desk_c.push_back(i);
            
            for(int j=0; j<50; j++)
                    random_shuffle(desk_c.begin(), desk_c.end());
}
 
void Desk::refresh()
{
     desk_c.clear();
     
     for(int i=2; i<54; i++)
           desk_c.push_back(i);
     
     for(int j=0; j<50; j++)
           random_shuffle(desk_c.begin(), desk_c.end());
            
}
 
card Desk::back_card()
{
     vector<int>::iterator pos;
     pos=desk_c.end()-1;
     card buf;
     if(*pos < 15) { buf=card(*pos, 1); }
     else if(*pos>14 && *pos<28) { buf=card((*pos-13), 2); }  
     else if(*pos>27 && *pos<41) { buf=card((*pos-26), 3); }
     else { buf=card((*pos-39), 4); }
     
     desk_c.erase(pos);  
     return buf;   
}
 
 
///////////////////////////////////////////////////////////////////
 
 
void Player::set_points(long p)
{
     points=p;
}
 
void Player::set_money(int m)
{
     money=m;
}
 
void Player::set_card(card& c)
{
     pl_col.push_back(c);
}
 
void Player::set_inv(int i)
{
     inv_money=i;
}
 
 
//////////////////////////////////////////////////////////////////////
 
 
void Game::distrib()
{
     for(int i=0; i<pls.size(); i++)
     {
              card c=collection.back_card();
              pls[i].set_card(c);
              c=collection.back_card();
              pls[i].set_card(c);
              
              pls[i].set_points(0);
              pls[i].set_inv(0);
     }
} 
 
void Game::add_card()
{
     board.push_back(collection.back_card());
}
 
long Game::det_comb()
{
     
}
 
void Game::fcr()
{
     
}
при компиляции mypoker.cpp возникает ошибка:

[Linker error] undefined reference to `WinMain@16'
ld returned 1 exit status
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru