如何在Turbo C ++中声明多个变量

时间:2015-10-29 18:28:10

标签: c++

我正在尝试将两个局部变量传递给另一个块,但在编译我的代码时,此错误显示:

  

(错误93:)预期)

我正在使用Borland Turbo C ++ 3.0。我无法弄清楚我哪里出错了;有人能指出我正确的方向吗?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "TableViewCell" // your cell identifier name in storyboard 
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! PFTableViewCell
cell.likeButton.selected = vote == 1
cell.dislikeButton.selected = vote == -1
cell.likeButton.titleLabel!.text = "\(likeCount)"
cell.dislikeButton.titleLabel!.text = "\(dislikeCount)"
return cell

4 个答案:

答案 0 :(得分:1)

甚至Turbo C ++几十年前也以正确的方式实现了这一点。

需要声明函数参数,明确地给出它们的类型:

char create_username(char forename, char surname)
                                 // ^^^^ This is needed!

与声明一组局部变量相反,其中可以使用多重定义语法:

void foo() {
    char forename, surname;
}

另请注意,char只存储一个字符,而您无法存储 forename / 姓氏

类型应该是std::string

当您在此comment

中澄清您的要求时
  

我想通过使用forename的第一个字母和完整的姓氏来加入用户名,...

你的功能应该看起来像:

std::string create_username(const std::string& forename, const std::string& surname) {      
     return std::string(forename[0],1) + surname;
}

答案 1 :(得分:0)

字面意思是一切都错了。

char create_username(char forename,surname)

这会返回一个字符吗? forenamesurname是每个角色吗?这不可能是正确的。

 strcpy(forename);

由于forename是一个字符,而不是字符串,因此无法将其传递给strcpy。但是 - 复制到哪里?

 strcat(forename,surname);

如果您要将原始版本传递给其他函数,为什么要复制forenamesurname?你觉得这有什么作用?你认为它将姓氏和姓氏连在一起......什么?

 return username;

username来自哪里?

答案 2 :(得分:-2)

你在这里。

#include <iostream>
#include <cstring>

char * create_username( const char *forename, const char *surname )
{
    size_t n = std::strlen( forename ) + std::strlen( surname ) + 1;
    char *username = new char [ n + 1]; // one more for the blank between names

    std::strcpy( username, forename );
    std::strcat( username, " " );
    std::strcat( username, surname );

    return username;
}

int main()
{
    const char *forename = "Craig";
    const char *surname = "Cheney";

    char *username = create_username( forename, surname );

    std::cout << username << std::endl;

    delete [] username;
}

输出

Craig Cheney

如果您的编译器不支持名称空间和新的C ++标题,那么您可以编写类似下面的内容

#include <iostream.h>
#include <string.h>

char * create_username( const char *forename, const char *surname )
{
    size_t n = strlen( forename ) + strlen( surname ) + 1;
    char *username = new char [ n + 1]; // one more for the blank between names

    strcpy( username, forename );
    strcat( username, " " );
    strcat( username, surname );

    return username;
}

int main()
{
    const char *forename = "Craig";
    const char *surname = "Cheney";

    char *username = create_username( forename, surname );

    cout << username << endl;

    delete [] username;
}

答案 3 :(得分:-2)

首先提供一些友好的建议 - 您应该查看introduction以了解此网站的运作方式。您的问题措辞不当,除非您编辑并修复它以符合网站规则,否则它很可能会被关闭并删除为非建设性的。如果你不能用正确的英语写出正确的问题,你将很难找到帮助。

其次,您的代码中存在许多错误,这些错误表明您不了解C / C ++语言的基本概念,并且您还没有检查C / C ++语言语法。只为你想要使用的函数名做Google search会向你展示如何正确调用它们 - 这是strcpy()的一个例子。

如果你想成为一名优秀的程序员,你需要付出更多努力来学习新事物。