Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
1

А что собственно не так, Майкрософт?

07.03.2018, 21:34. Показов 3840. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, проблема заключается не только в не работе кода, но и не понятных ошибках компилятора. Помогите, пожалуйста.
Ошибки:

Ошибка C3867 "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length ": нестандартный синтаксис; используйте "&", чтобы создать указатель на член
строка 19

Ошибка C2296 -: недопустимо, левый операнд имеет тип "unsigned __int64 (__cdecl std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) noexcept const"
строка 19
Код:
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
#include <string>
#include <iostream>
#include <sstream>   
using namespace std;
class bigint {
    string number;
public:
    bigint(string number) {
        this->number = number;
    }
    bigint() {//только для obj &&( b // in int main)
        
    }
    bigint operator+(bigint num) {
        int store;
        bigint obj;
        stringstream sum_help_make;
        
        for (_int64 i = number.length - 1; i >= 0; i--) {
            store = (this->number[i] - '0');
            store += (num.number[i] - '0');
            if (store >= 10) {
                if (i == 0) {
                    sum_help_make << 1;
                    sum_help_make >> obj.number[0];
                } else this->number[i - 1] += 1;
                store -= 10;
                sum_help_make<<store;
                sum_help_make >> obj.number[i+1];
            }
        }
        return obj;
    }
    friend ostream operator << (ostream &Sztream, bigint &obj) {
        cout << obj.number<< endl;
        return cout;
    }
    bigint operator=(bigint ob) {
        this->number = ob.number;
        return *this;
    }
};
int main() {
    bigint z("9999999999999999999");
    bigint a("1111111111111111111");
    bigint b;
    b = a + z;
 
    cout << b;
    cin.get();
    return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2018, 21:34
Ответы с готовыми решениями:

В справке Майкрософт говорится, что чекбоксы могут работать как переключатели, но что-то это не работает
Вот здесь сказано, что если присвоить несколько чекбоксов одной группе, они будут вести себя, как...

разобратся что собственно за трафик?
Доброго времени суток. Добавил свой сайт на данный ресурс http://*******/xOJnLO Проект предлагает...

Майкрософт тормозит 7-ку что бы переходили на 10-ку
Может ли майкрософт специально ухудшать работу 7-ки что бы таким образом перегнать пользователей на...

При перекомпиляции сервера перекомпилируется клиент, а что, собственно в этом плохого?
Друзья! Начинаем цикл вопросов про COM- Объекты. Первый вопрос возник по статье Безверхова, вот...

8
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
07.03.2018, 21:42 2
Лучший ответ Сообщение было отмечено Pashka Durov как решение

Решение

Pashka Durov,
length - функция. Нужны скобки:
C++
19
for (size_t i = number.length() - 1; i >= 0; i--) {
1
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
07.03.2018, 22:06 3
Даценд, с беззнаковыми числами крутить такие циклы нельзя.
1
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
07.03.2018, 22:18  [ТС] 4
Цитата Сообщение от Новичок Посмотреть сообщение
Даценд, с беззнаковыми числами крутить такие циклы нельзя.
int64 не беззнаковый
https://msdn.microsoft.com/ru-... 49ktz.aspx
UPD: после добавления скобок, возникает ошибка в 36 строке
Ошибка C2280 "std::basic_ostream<char,std::char_traits<char>>::basic_ostream(const std::basic_ostream<char,std::char_traits<char>> &)": предпринята попытка ссылки на удаленную функцию
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
07.03.2018, 22:21 5
Pashka Durov, так я и не про него говорю, я про size_t. Он беззнаковый.
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
07.03.2018, 22:24  [ТС] 6
Цитата Сообщение от Новичок Посмотреть сообщение
Pashka Durov, так я и не про него говорю, я про size_t. Он беззнаковый.
Ой, да, извиняюсь, недопонял
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
07.03.2018, 22:27 7
Pashka Durov, нужно возвращать ostream&, т.е ссылку на поток, а не сам поток(34 строка).
1
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
07.03.2018, 22:41  [ТС] 8
Цитата Сообщение от Новичок Посмотреть сообщение
Pashka Durov, нужно возвращать ostream&, т.е ссылку на поток, а не сам поток(34 строка).
Всё скомпилировалось, но ничего не работает; консоль просто зависает
0
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
07.03.2018, 23:35 9
Лучший ответ Сообщение было отмечено Pashka Durov как решение

Решение

Цитата Сообщение от Pashka Durov Посмотреть сообщение
Всё скомпилировалось, но ничего не работает
Потому что в начале цикла (19 строка) вы инициализируете переменную i значением number.length() - 1, которое будет равняться последнему допустимому индексу символа у number,
и в 29 строке:
Цитата Сообщение от Pashka Durov Посмотреть сообщение
C++
1
sum_help_make >> obj.number[i+1];
при первой итерации цикла число i+1, в качестве индекса, получится больше допустимого, и соответственно выход за границы.

Добавлено через 10 минут
Ай, не заметил, во втором случае же (29 строка) number от объекта obj... но и всё равно, всё та же проблема с выходом за границы, ибо строка number у obj вообще пустая...
1
07.03.2018, 23:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2018, 23:35
Помогаю со студенческими работами здесь

Что лучше взять в качестве монитора? Телевизор, или, собственно, монитор?
Ребята, подскажите, что лучше взять в качестве монитора? Телевизор, или, собственно, монитор? Да,...

Майкрософт присоединилась к антироссийским санкциям. Что мы должны учесть?
Майкрософт присоединилась к антироссийским санкциям. В чём они? Что мы должны учесть? Можно ли...

Дополнения к языку программирования для программиста. Что ещё, кроме языка, собственно, я должен знать?
Всем здрасте!Я начинающий программист и и недавно мне кроме языка программирования стало интересно...

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru