错误:流浪' \ 240'在程序中

时间:2015-03-27 23:14:57

标签: c++ arrays function pointers matrix

我想要实现以下功能:

void calc ( double* a, double* b, int r, int c, double (*f) (double) )

参数A,R,C和f是输入和b被输出。 “a”和“B”是与“R”行和“c”的2D矩阵 列。 “f”为一个函数指针可以指向以下类型的任何功能:

double function‐name ( double x ) { 
    … 
} 

功能calc在矩阵的每一个元件,即,共同执行活动,以在Bij的矩阵B = F(的aij)转换。


我按如下方式实现calc函数,并将其放入程序中进行测试:

#include <stdlib.h>
#include <iostream>

using namespace std;

double f1( double x ){
    return x * 1.7;
}

void calc ( double* a, double* b, int r, int c, double (*f) (double) ) 
{
    double input;
    double output;

    for(int i=0;i<r*c;i++)
    {
        input=a[i];
        output=(*f)(input);
        b[i]=output;
    }
}

int main()
{
    //input array:
    int r=3;
    int c=4;
    double* a = new double[r*c];
    double* b = new double[r*c];

    //fill "a" with test data
    //...

    for (int i=0;i<r*c;i++)
    {
        a[i]=i;
    }


    //transform a to b
   calc ( a, b, r, c, f1 );

    //print to test if the results are OK
    //...

    for (int i=0;i<r*c;i++)
    {
        b[i]=i;
    }

    return 0;
}

问题是,我无法编译它。当我点击编译并执行按钮时,这是 DevC ++ 的输出:

compilation errors referring to invalid characters

怎么了?

我感谢任何评论,以提高实施效率。

7 个答案:

答案 0 :(得分:5)

正如之前的回复中所提到的,这通常在编译复制粘贴代码时出现。如果您有bash shell,则以下命令通常有效:

iconv -f utf-8 -t ascii//translit input.c > output.c

答案 1 :(得分:4)

您的来源中似乎有非法字符。我无法弄清楚\240应该是什么字符,但显然它位于第10行的开头

在您发布的代码中,问题不存在: Live On Coliru

答案 2 :(得分:4)

/240错误是由于每行代码之前的非法空格造成的。

例如。

待办事项

printf("Anything");

而不是

 printf("Anything");

在IDE中复制并粘贴代码时,此错误很常见。

答案 3 :(得分:2)

您的程序中包含无效/不可见字符。当您从其他网站或有时是文档复制和过去代码时,您很可能会拾取这些不可见的字符。将代码从站点复制到另一个文本文档,然后复制并粘贴到代码编辑器中可能会有效,但根据代码的长度,您应该逐字逐句地输入。

答案 4 :(得分:1)

当我刚刚复制整行时我得到了同样的错误,但是当我再次重写代码时,而不是复制粘贴,完全写入它然后错误不再存在。

结论:复制的语言可能会出现一些不可接受的词语,从而导致出现此错误。

答案 5 :(得分:0)

由于我的整个代码中存在非法空格,我遇到了同样的问题。

我通过选择其中一个空格来修复它,并使用find and replace将所有匹配替换为常规空格。

答案 6 :(得分:0)

解决方案:删除代码行[*如果您从另一个来源文档中复制]并自行输入代码。

错误:程序中的错误'\ 240'只是一个字符编码错误消息。

根据我的经验,这只是字符编码的问题。例如,如果从网页复制一段代码,或者在IDE中复制和粘贴之前首先在文本编辑器中编写代码,则可以附带源文档或编辑器的字符编码。