error: conversion from 'double' to non-scalar type '' requested" struct in c++?
error: conversion from 'double' to non-scalar type '' requested" struct in c++?
我想更改我的简单结构中的一个属性。我无法更改主要功能中的任何内容。
但是编译器给我关于标量类型的错误 - 它到底是什么意思,我错了什么?
#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
这是潜在的修复方法:
#include <iostream>
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;
number2.b = zmiana( &number1, 2. );
std::cout << &number2; // Notice that what you do here is printing a pointer's value
return 0;
}
我想更改我的简单结构中的一个属性。我无法更改主要功能中的任何内容。 但是编译器给我关于标量类型的错误 - 它到底是什么意思,我错了什么?
#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
这是潜在的修复方法:
#include <iostream>
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;
number2.b = zmiana( &number1, 2. );
std::cout << &number2; // Notice that what you do here is printing a pointer's value
return 0;
}