不能声明字符串变量

时间:2017-09-01 05:14:03

标签: c++ string

我无法将我的字符串声明声明为变量。 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

3 个答案:

答案 0 :(得分:2)

我刚刚意识到你没有在userString变量的值周围使用引号,而是应该输入如下字符串

!default

我希望这可以解决您的问题

答案 1 :(得分:2)

如果要将std::string默认初始化为空字符串,则无需执行任何操作。这是默认完成的。

std::string x;
std::string y = "";

两者都是平等的。

x.compare(y) == 0

您当前的初始化无效。它将在运行时抛出异常。

std::string str = 0;

请检查this example.

“font-color”与变量与否也没有太大关系。这完全取决于您使用的IDE /编辑器。

  • IDE不是上帝
  • 语法突出显示可能无法始终有效
  • C ++不关心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。