Как получить доступ к переменным функции внутри main?
невозможно получить доступ к локальным переменным функции non-stati c в область, в которой эта функция вызывается. Эти переменные существуют только во время выполнения функции. Объекты, названные переменными, создаются при вызове функции и уничтожаются до ее возврата.
function01
в настоящее время совершенно бесполезен, поскольку не имеет никаких эффектов, наблюдаемых снаружи функции, а также это вернуть что-нибудь. После вызова функции состояние программы будет точно таким же, как если бы вы не вызывали функцию. Функция также ничего не делает со своим аргументом.
Вместо этого вы можете возвращать значения из функции. Можно вернуть только одно значение. Но вы можете сгруппировать несколько объектов внутри класса. Вы можете переписать function01
, например, так:
struct my_example_class {
int var01;
int var02;
int var03;
char a;
};
my_example_class
function01(){
return {3, 4, 8, 'a'};
}
Затем вызвать другую функцию и использовать возвращенные объекты-члены в качестве аргументов другой функции:
auto r = function01();
function02(r.var01, r.var02, r.var03);