С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему запятую на класс и инт перегрузить можно, а на два инта нельзя? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка массива объектов http://www.cyberforum.ru/cpp-beginners/thread740265.html
Вывести список книг с фамилиями авторов в алфавитном порядке. friend void run(books obj, unsigned int n) { unsigned int after=0; unsigned int i=0, j=0; ...
C++ Удалить из предложения повторяющиеся слова длиной менее трёх букв Ввести предложение, слова в котором разделены пробелами и запятыми. Распечатать это предложение, удалив из него те слова, которые встретились там более одного раза длиной менее трёх букв. http://www.cyberforum.ru/cpp-beginners/thread740261.html
C++ Borland c++ 3.1 for win 7 32bit
Здарова!скиньте ссылку на компилятор.очень нужно))
Ошибка при отладке программы C++
Программа: #include <iostream> #include <math.h> #include <locale> void c511(); void c521(); void c5211(); int main() { int k;
C++ System() http://www.cyberforum.ru/cpp-beginners/thread740254.html
Подскажите, как исправить: int opt() { int a, b; string col; system("clr"); cout << "Введите цвет фона: "; cin >> a; cout << "Введите цвет текста: ";
C++ std::vector<int> Что это за тип данных? std::vector<int> indexes_1, indexes_2; // Used for homography Что это за тип данных? подробнее

Показать сообщение отдельно
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
21.12.2012, 09:07  [ТС]
Цитата Сообщение от Nixy Посмотреть сообщение
, обращение как в С++ [][] через двойные скобки
Это есть и на паскале, но там к любому многомерному массиву можно обращаться так и так.

Добавлено через 3 минуты
Цитата Сообщение от soon Посмотреть сообщение
Еще как вариант
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
#include <iostream>
 
class Foo
{
public:
    Foo(int a, int b): _a(a), _b(b)
    {
 
    }
 
    friend std::ostream& operator<< (std::ostream& stream, const Foo& f)
    {
        return (stream << f._a << ' ' << f._b);
    }
 
private:
    int _a, _b;
};
 
struct Bar
{
    void operator[] (Foo f)
    {
        std::cout << f << std::endl;
    }
};
 
int main()
{
    Bar b;
    b[{1, 2}];
    return 0;
}
Кодоблоки на это пишут:
||=== Test, Debug ===|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp||In function 'int main()':|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp|31|error: expected primary-expression before '{' token|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp|31|error: expected ']' before '{' token|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp|31|error: expected ';' before '{' token|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp|31|error: expected primary-expression before ']' token|
C:\tsserver\Projects\cpp\codeblocks\test\test.cpp|31|error: expected ';' before ']' token|
||=== Build finished: 5 errors, 0 warnings ===|
Добавлено через 11 минут
А таскать за каждым обращением явный вызов конструктора векторного индекса не охота, уж лучше тогда
C++
1
2
3
4
5
6
7
8
9
10
class TVector
{
 public:
  int x;
  int y;
};
TVector v;
for (v.x=0; v.x<n; ++v.x)
{
 for (v.y=0; v.y<m; ++v.y)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.