C++ 警告 [-Wunused-value]
C++ warning [-Wunused-value]
我的 C++ 代码有问题,没有错误,只有警告阻止我的代码正常工作。我想将屏幕尺寸乘以百分比然后打印出来。
这是在我的 .h 文件中:
SmartWatch* multiply(SmartWatch* second, double percentage);
这是在我的 .cpp 文件中:
SmartWatch* SmartWatch::multiply(SmartWatch* second, double percentage){
second->getScreen_size() * percentage;
return second;
}
这是主要的:
SmartWatch *multiplied = &watch[0];
multiplied = multiplied ->multiply(&watch[1], 0.23);
multiplied->print();
我收到此警告:
smartwatch.cpp:69:31: 警告:表达式结果未使用 [-Wunused-value]
second->getScreen_size() * percentage;
我是新手,所以我不知道自己做错了什么。
您正在计算 second->getScreen_size()
和 percentage
的乘积。
编译器告诉您结果未被使用。
仅当您对结果进行某些操作(例如将其存储在变量中)时,计算产品才有用。如果您不对其进行任何操作,编译器将删除它以提高程序速度。
因为你编写了一些永远、永远不会真正完成的东西,你的编译器告诉你你可能在那里犯了一个错误。由于这不是技术错误,编译器仅将其视为 警告。
您实际上并没有将乘法的值存储在 multiply
方法中的任何地方。编译器警告您,因为代码行 second->getScreen_size() * percentage;
不存储结果或更改值。乘法的结果将被丢弃。
要修复警告,您应该将结果存储回 SmartWatch* second
指针中的某处。我不确定您的 class 设计是什么样的,但您可以这样做:
second->setScreen_size(second->getScreen_size() * percentage);
删除警告,然后使用您编写的方法实际完成一些事情。
我的 C++ 代码有问题,没有错误,只有警告阻止我的代码正常工作。我想将屏幕尺寸乘以百分比然后打印出来。
这是在我的 .h 文件中:
SmartWatch* multiply(SmartWatch* second, double percentage);
这是在我的 .cpp 文件中:
SmartWatch* SmartWatch::multiply(SmartWatch* second, double percentage){
second->getScreen_size() * percentage;
return second;
}
这是主要的:
SmartWatch *multiplied = &watch[0];
multiplied = multiplied ->multiply(&watch[1], 0.23);
multiplied->print();
我收到此警告:
smartwatch.cpp:69:31: 警告:表达式结果未使用 [-Wunused-value] second->getScreen_size() * percentage;
我是新手,所以我不知道自己做错了什么。
您正在计算 second->getScreen_size()
和 percentage
的乘积。
编译器告诉您结果未被使用。
仅当您对结果进行某些操作(例如将其存储在变量中)时,计算产品才有用。如果您不对其进行任何操作,编译器将删除它以提高程序速度。
因为你编写了一些永远、永远不会真正完成的东西,你的编译器告诉你你可能在那里犯了一个错误。由于这不是技术错误,编译器仅将其视为 警告。
您实际上并没有将乘法的值存储在 multiply
方法中的任何地方。编译器警告您,因为代码行 second->getScreen_size() * percentage;
不存储结果或更改值。乘法的结果将被丢弃。
要修复警告,您应该将结果存储回 SmartWatch* second
指针中的某处。我不确定您的 class 设计是什么样的,但您可以这样做:
second->setScreen_size(second->getScreen_size() * percentage);
删除警告,然后使用您编写的方法实际完成一些事情。