c++ - 为什么错误一直返回“变量的类型不完整”?
问题描述
我正在尝试编写一个代码来解决两个带电粒子之间的力的库仑定律方程(使用 void)并且我不断收到错误:变量具有不完整的类型“void”。代码应测量 r=1,然后循环(每次将 r 加 3)并在 r < 60 时完成。它将输出所有这些结果。
int main() {
float Q_one;
float Q_two;
int rad = 1;
double const k = 8990000000;
cout << "Enter the charge of particle 1." << endl;
cin >> Q_one;
cout << "Enter the charge of particle 2." << endl;
cin >> Q_two;
void force (float Q_one, float Q_two, int rad);
void force = ((k * ((Q_one * .000001) * (Q_two * .000001))) / (rad * rad));
while (rad <= 60) {
{
force (Q_one, Q_two, rad);
cout << "Radius " << (rad) << " ";
cout << "Force " << (force) << endl;
rad += 3;
}
}
}
我尝试过重新排列这多种方式并改变我定义“力”的方式,但似乎没有任何效果。关于如何解决这个问题的任何想法?
解决方案
我不确定你想做什么。
修复一些错误后,我得到了这个:
#include <iostream>
#include <type_traits>
#include <vector>
using namespace std;
int main() {
float Q_one;
float Q_two;
int rad = 1;
double const k = 8990000000;
cout << "Enter the charge of particle 1." << endl;
cin >> Q_one;
cout << "Enter the charge of particle 2." << endl;
cin >> Q_two;
auto force = [k](float Q_one, float Q_two, int rad) { return (k * Q_one * .000001 * Q_two * .000001) / (rad * rad); };
while (rad <= 60)
{
auto result = force (Q_one, Q_two, rad);
cout << "Radius " << (rad) << " ";
cout << "Force " << (result) << endl;
rad += 3;
}
}
演示:魔杖盒
它看起来像你想要的吗?
推荐阅读
- node.js - 如何将模块从 Electron 应用程序暴露给外部模块
- c++ - c++ char*、字符串指针和strcmp问题
- android - 如何在Android中更改List View的第一个内容的属性
- r - R聚合多列
- r - 提取带有或不带有空格和标点符号的子字符串时出现问题?
- python - 熊猫数据框不断更新
- php - 无法通过使用 PHP 与数组 ob 对象进行映射来获取索引
- c++ - lambda 调用的 MSVC 汇编代码解释
- java - 如何从 android studio 中的另一个活动更新数组列表?爪哇
- amazon-web-services - Terraform AWS EKS 安全组问题