Здравствуйте!
Я хочу сделать так:
#include <iostream>
#include <conio.h>
using namespace std;
class Class {
public:
int method1(int a) {
//блок кода...
return a;
}
int method2(int a) {
//блок кода...
}
};
int main() {
Class c;
c.method1(0);
c.method2(a); //ВОТ ТУТ ПРОБЛЕМА!
//пишет, что переменная неинициализорвана,
//но она уже введена пользователем в method1()
_getch();
return 0;
}
Как исправить это недоразумение?
Заранее спасибо за ответ!
Еще один вариант:
class Class {
public:
static int a;
int method1() {
//блок кода... например:
a += 5;
return a;
}
int method2(int k) {
//блок кода...
return k + method1();
}
};
int Class::a = 0;
int main()
{
Class c;
c.method1(); // 5
c.method2(Class::a); //5 + 5 + 5
return 0;
}
int main() {
Class c;
c.method2(c.method1(0));
_getch();
return 0;
}
Я так понимаю, что так.
Подозреваю, что Вы хотели написать так
int a = c.method1(0);
c.method2(a);
или даже так
c.method2(c.method1(0));
Я думаю, что Вы много писали на скриптовых языках, где есть сквозные глобальные переменные. В Вашем случае, хоть две переменные a называются одинаково, с точки зрения компилятора это разные переменные и компилятор не может догадаться, что Вы имели ввиду.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Поскольку когда мучаю читателей этого сайта мелкими задачами и часто возникает вопрос "зачем", то решил описать сразу и большую задачу, с которой...
Сейчас делаю задачу из интернета,основная цель используя оператор switch, составить программу для получения таблицы значений функции У для...
Пытаюсь вывести имя нового USB-девайса, когда его подключаютПроблема в том, что при вставке флешки messagebox появляется, но на нем ничего нет
Неправильно отображаются символы в сообщениях об ошибках в терминале CLionСреди руководств в инете полезной информации не нашел, поэтому надеюсь...