c++ - 括号中的变量 C++

标签 c++ random parentheses

我目前正在编写一个 C++ 程序,该程序可以为使用文件输入/输出的人员随机选择角色。

我快完成了,我经常构建以确保我的代码正常工作而不是伪代码。我的代码片段收到错误 -

randomPrefs.open ("Preferences/"members[random]"-Preferences");

我正在尝试访问 Preferences/foo-Preferences 中的文本文件,并且该变量是由上面的一些代码随机生成的。我已经计算了随机片段,它工作得很好,所以我不需要将它包含在这里。我得到的错误是:

Avalon - Omnipotent.cpp:61:21: error: unable to find string literal operator 'operator""members' with 'const char [13]', 'unsigned int' arguments

因此,我四处寻找此错误,但一无所获。我想在它周围加一个小括号,结果导致了一个不同的错误 - Avalon - Omnipot.cpp:61:51: 错误:表达式不能用作函数

如有任何帮助,我们将不胜感激。

这里有一个小注释,当它周围没有括号时,我会收到关于我的变量未被使用的警告 -

Avalon - Omnipotent.cpp:39:21: warning: unused variable 'members' [-Wunused-variable]

但是,第二个错误不会给出有关未使用变量的警告。

嘿,我的变量是这样的:

 unsigned const char members[22] = 

我分配了值“random”,它从 0 - 21 中选择一个随机数,并将生成的数字分配给值 random,并将变量声明为 Members[random]。它工作得很好,我只需要有关这些错误的帮助。

救命!

最佳答案

要连接字符串,请执行以下操作:

std::string s = std::string("Preferences/") + members[random] + "-Preferences";
randomPrefs.open(s);

如果您不需要中间命名变量,则:

randomPrefs.open(std::string("Preferences/") + members[random] + "-Preferences");

如果成员不包含 'A''B''C''4 等字符',并且包含数字 428153,那么您可以通过以下方式将数字转换为适当的字符串:使用std::to_string

std::string s = std::string("Preferences/") + std::to_string(members[random]) + "-Preferences");

有关未使用变量的警告没有用,这是因为编译器在代码中发现了早期错误。如果你解决了上述问题,这个问题也应该消失。

关于c++ - 括号中的变量 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37514258/

相关文章:

c++ - 类中变量的属性似乎未声明

c++ - 多处理浏览器?

opengl-es - GLSL OpenGL ES 2.0 (iOS) 中有噪声函数吗?

python - 如何使用正则表达式搜索带括号的字符串?

C++ 状态机,具有语法不正确的成员值的继承类

sql - 在 MS SQL Server 2005 中使用 RAND() 时我做错了什么?

javascript - 自动随机翻转

c++ - 函数内的函数不带括号?

wpf - 绑定(bind)路径中的括号是什么意思?

c++ - 如何使用cmake pack redhat风格的rpm,它是major和 “-devel”?