Предмет: Информатика, автор: pomidorkasvezhaya

С++. Почему эти операторы вызывают синтаксическую ошибку?
class A {
public:
static int k;
int m = 3;
void adds(int s) const { s++; }
};
int A::k = 0;
void main() {
A x;
A::adds(A::k); //ошибка
A::adds(A::m); //ошибка
x.adds(x.k);
}

Ответы

Автор ответа: Аноним
1

Ответ:

Успіхів!

Объяснение:

1) Перше, що кидається у очі, це 10-й рядок коду, де ти викликаєш НЕстатичну функцію не через екземпляр об'єкта. Вирішити це можна або зробивши функцію adds статичною(скрін 1), тобто static adds (...) {...}, або якщо ти будеш викликати цю функцію через екземпляр об'єкту класа А(скрін 2)

2)  Змінна m НЕ є статичною змінною класу А, вона не може бути використана без екземпляра об'єкту (писати треба x.m) => прочитай про статични зміні і в чому їх особливість

3) Якщо ти уж хочеш, щоб твій код працював правильно, треба його змінити(дивись скріни) Функція adds просто створює нову локальну зміну s, в яку КОПІЮЄТЬСЯ значення змінної, переданої аргументом функції adds при виклиці. Потім це значення збільшується, і видаляється з пам'яті. Щоб усе працювало як треба, параметром функції передай вказівник. Тоді в цей вказівний передавай адресу своєї зміної, і через розіменування, збільшуй саме значення цієї зміної(скріншот 3).

Приложения:

pomidorkasvezhaya: Спасибо большое!
Похожие вопросы
Предмет: Українська мова, автор: Аноним
тема числівник. займенник варіант і 1. познач рядок із правильним закінченням поданого речення. числівники означають...... а дію предмета б кількість предметів або їх порядок при лічбі в назву предмета г ознаку предмета 2. познач рядок із правильним закінченням поданого речення. числівники відповідають на питання ..... а скільки? який? котрий? в що? скільки? б який? яка? яке? які? г хто? котрий? 3. познач рядок із правильним закінченням поданого речення. займенник - це частина мови, яка....... а означає назву предмета б означає кількість предметів чи їх порядок при лічбі в указує на предмети, ознаки, їх кількість, але не називає їх г виражає ознаку предмета 4. познач рядок із займенниками. а іван, хлопчик, малий б у нього, їй, мене в рідний, сестра, учень 5. прочитай слова. випиши числівники, що відповідають на питання котрий? який? г та, а, але шість, дванадцятий, п'ятий, три, п'ятдесят третій, дев'ятнадцять, двісті, сімдесят восьмий, сорок, тисяча, чотирнадцятий. 6. запиши речення, розкриваючи дужки. числівники запиши словами. зразок. 8 (огірок) лежало на тарілці. вісім огірків лежало на тарілці. 6 (олівець) лежало в коробці. 11 (книжка) поклали на полицю. 45 (кілометр) проїхав автомобіль. 10 (гривня) коштує фотоальбом. 18 (ящик) яблук зібрали школярі. 7. спиши текст. встав потрібні за змістом займенники. у... є котик мурчик..... дуже... люблю. у... м'яка біла шерсть і чорний, як вуглинка, носик..... любить молоко, ковбаску, рибку. 8. прочитай текст. випиши особові займенники. визнач особу, число, відмінок. зразок. я- 1-а ос., одн., н. в. ми йшли весняним лісом. навколо нас росло безліч підсніжників. вони були білі, ніжні. поряд з ними ще лежав сніг. на стежці нам зустрівся зайчик. він швидко втік.
Предмет: Алгебра, автор: Dead2016j
Предмет: Литература, автор: gulmiraamantaika
Предмет: Математика, автор: jjjasfaj