【问题标题】:Syntax error String method C++语法错误字符串方法 C++
【发布时间】:2013-11-14 04:22:49
【问题描述】:

我正在尝试编写一个文字冒险游戏,但我的代码有一些问题。

这段代码的目的是创建一个接收字符串变量并以大写形式返回的方法。

当我编译它时,我唯一的错误是语法错误,但我不知道它来自哪里。

标题代码:

#include "stdafx.h"
#include <iostream>
#include <ctype.h>
#include <string>

using namespace std;

class texto{


public:
   string Mayusculas(string);

};

Cpp 代码:

#include "Texto.h"
#include "stdafx.h"

using namespace std;

 string texto::Mayusculas(string palabra){

    int i;
    string nueva_palabra;
    for (i = 0; i < palabra.size(); i++){

         nueva_palabra += toupper(palabra[i]);

    }

    return nueva_palabra;
}

语法错误都在cpp "string texto::Mayusculas(string palabra){"的第8行

Error   6   error C2059: error de sintaxis : ')'
Error   7   error C2143: error de sintaxis : expected ';' after '{' 
Error   5   error C2146: error de sintaxis : expected ')' after 'palabra'
Error   3   error C2146: error de sintaxis : expected ';' after 'Mayusculas'
Error   8   error C2447: '{' : falta el encabezado de función (¿lista formal de     estilo anterior?)
Error   2   error C2653: 'texto' : no es un nombre de clase o espacio de  nombres   
Error   4   error C4430: falta el especificador de tipo; se presupone int.     Nota: C++ no 
Advertencia 1   warning C4627: '#include "Texto.h"': se omite al buscar el uso del encabezado precompilado

【问题讨论】:

  • 你应该#include 而不是
  • 什么语法错误?请添加这个,加上什么文件,类和行。编译器会告诉你这是有原因的。
  • 我修好了,一切都是关于图书馆被放坏的。全部

标签: c++ string methods syntax


【解决方案1】:

以前的答案/评论: - 您似乎正在向字符串 += 所在的字符串添加一个字符 意味着连接字符串......你可以尝试改变 nueva_palabra 线到 nueva_palabra[i]=toupper(palabra[i]); , 但是,如果没有看到语法错误,就很难看到在哪里 纠正这个。

要进行上述工作,您必须先将 palabra 的内容复制到 nueva palabra,然后才能访问第 i 个项目,否则正如正确指出的那样,您的代码很可能会出错。

如果可能的话,尽量避免混合字符数组和字符串,你可以这样做,但是如果你使用其中一个或另一个坚持这一点,字符串是一种更 C++ 惯用的做事方式字符数组是一种更 C 惯用的方式.

【讨论】:

  • 将字符添加到字符串应该可以just fine。但是您正在访问 nueva_palabraith 元素,尽管它是空的 - 这是非法的,可能会导致崩溃或内存损坏。
  • 其实是的,你说得对,没想到neva_palabra是空的,会修改答案
猜你喜欢
  • 2014-10-28
  • 1970-01-01
  • 2021-04-07
  • 2017-06-24
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多