为什么打印出意外值?

时间:2020-04-11 02:11:26

标签: c++ class object

#include <iostream>

using namespace std;

class calculator {
public:
    int n1, n2;

    friend void setNumbers(calculator v);
    friend void getNumbers(calculator v);
};

void setNumbers(calculator v) {
    cin >> v.n1 >> v.n2;
}

void getNumbers(calculator v) {
    cout << v.n1 << ' ' << v.n2 << '\n';
}

int main() {
    calculator calc;
    setNumbers(calc);
    getNumbers(calc);
    return 0;
}

当我调用getNumbers函数时,它将打印完全不同的值,这些值我没有输入。例如,当我输入3 6时,它会打印0 1,而我期望3 6。怎么了?

1 个答案:

答案 0 :(得分:0)

如果您希望在调用console.log(item.images) 之后使用输入值来初始化计算器对象,那么在没有引用的情况下传递对象将不会更改计算器对象的值。相反,它们将具有垃圾值,因为它们没有为const CardItem = ({ actions, description, image, uid, myId, name, onPressRight, onPressLeft, status, variant }) => { return ( <View style={styles.containerCardItem}> <Image source={{uri: image[0][0] }} style={imageStyle} /> // this is where the error starts <Text style={nameStyle}>{name}</Text> ); 初始化。

使用注释中提到的setNumbers,通过引用将计算器对象传递给您,您很高兴。

getNumbers