【发布时间】:2021-12-27 09:43:20
【问题描述】:
我想更改我的简单结构中的一个属性。我无法更改主要功能中的任何内容。 但是编译器给了我关于标量类型的错误——它到底是什么意思,我错了什么?
#include <iostream>
using namespace std;
struct Number{
int a;
double b;
};
double zmiana(Number *number,double scale){
number->a*=scale;
return number->a;
}
int main()
{
Number number1={2,3.14};
Number number2=zmiana(&number1,2.);
cout<<&number2;
return 0;
}
预期输出:4 3.14
【问题讨论】:
-
zmiana返回double,但您将其分配给Number。该转换未定义。 -
您希望在
number2中出现什么?cout<<&number2打印出number2的内存地址,你期望实现什么?
标签: c++ struct type-conversion scalar non-type