我有一些代码(现在只是一个示例位):
#include <iostream>
using namespace std;
string(the_value) = "three";
string(a) = "";
struct Speeds
{
int s1;
int s2;
int s_t;
};
int return_values(Speeds byval) {
std::cout << "speed1: " << byval.s1 << "\n";
std::cout << "speed2: " << byval.s2 << "\n";
std::cout << "time: " << byval.s_t << "\n";
return(1);
}
int main()
{
Speeds one = { 255, 200, 1000 };
Speeds two = { 128, 128, 1000 };
Speeds three = { 0, 255, 1000 };
a = the_value;
cout << "Displaying Information," << endl;
// Here is the issue at hand:
// this works and compiles:
return_values(three);
// this doesn't:
return_values(a);
}
正如您在代码和注释中看到的那样 - 一种方法可行,一种方法无效。因此,基础问题变为 - 如果结构速度的成员ID不是字符串:
1)它是什么?
2)可以通过字符串以外的变量类型引用吗?
如果#2为no,那么我将如何使用另一个字典类型对象完成相同的操作?
我是c +的新手,在我去的时候自学,我很确定我在某个地方看到了一个埋藏在另一个问题中的这种(有点)的引用,但我再也找不到了。这段代码是一个POC,本质上是一个较大的项目的一部分,我需要存储有限数量的struct元素,但是通过值以编程方式检索它们,而不是直接通过函数调用中的“命名”每个元素。
(另外,我知道我可能不需要声明“the_value”,然后将其转换为另一个变量“a”。它是我试过的其他东西遗留下来的,并且因为“string”不相关而无关紧要无论如何工作。)