首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fork()定义变量

Fork()定义变量
EN

Stack Overflow用户
提问于 2014-02-09 04:46:17
回答 1查看 85关注 0票数 0

我正在尝试实现下面的代码,但是它在这里给我带来了错误:

代码语言:javascript
复制
char **lines = tokenizer(buffer, "\n"); //use of undeclared identifier 'lines'
free(lines); //use of undeclared identifier 'lines'

实际代码块:

代码语言:javascript
复制
int child = fork();
switch (child) {
    case 0 :
        // child process
        char **lines = tokenizer(buffer, "\n");
        free(lines);

我怎么解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2014-02-09 04:50:40

不允许在case语句之后立即进行声明。有三种解决办法:

  • case后的代码用大括号:case 0: { char **line = ...}括起来。
  • 将声明移到switch之后: 开关(子){ char **行;情况0: line=记号器(缓冲区,"\n");
  • 或者,令人惊讶的是,在;语句之后添加一个额外的case: 开关(子){ case 0:;char **line=记号器(缓冲器,"\n");

Why can't variables be declared in a switch statement?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21655398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档