我无法将我的字符串声明声明为变量。 int,double和char都改变字体颜色,但字符串不改变。
#include <iostream>
#include <string> // Supports use of "string" data type
using namespace std;
int main() {
int userInt = 0;
double userDouble = 0.0;
char userChar = 0;
string userString = 0; // this string declaration is not being recognized
答案 0 :(得分:2)
我刚刚意识到你没有在userString变量的值周围使用引号,而是应该输入如下字符串
!default
我希望这可以解决您的问题
答案 1 :(得分:2)
如果要将std::string
默认初始化为空字符串,则无需执行任何操作。这是默认完成的。
std::string x;
std::string y = "";
两者都是平等的。
x.compare(y) == 0
您当前的初始化无效。它将在运行时抛出异常。
std::string str = 0;
“font-color”与变量与否也没有太大关系。这完全取决于您使用的IDE /编辑器。
答案 2 :(得分:0)
你只是忘了添加引号&#34; &#34 ;.它期待文本值,而不是数值。
string userString = "0"; //is correct
string userString = 0; //is incorrect
另一条评论,只是让你知道正确的术语,上面的代码不只是一个声明。
int myVal; //declaration of a variable of integer data type
int myVal = 10; //is called initialization (declaration and assignment)
编辑:我已经将您的代码复制并粘贴到我的IDE中,并正确初始化了一个字符串,并且工作正常。我正在使用Codeblocks。