代码之家  ›  专栏  ›  技术社区  ›  MaxAttax

在定义的函数中使用常量时出错[关闭]

  •  -1
  • MaxAttax  · 技术社区  · 6 年前

    我不是新手,但我可能在这里犯了一个新手错误。我正在编写代码,我在程序的顶部声明了一个常数。每当我试图在我定义的函数中使用该常量时,就会得到一个错误。

    #include <iostream>;
    #include <fstream>;
    #include <string>;
    #include <cmath>;
    
    #define PI 3.14159265358979323846;
    #define RADI 300.0;
    
    void CreatePieChart(unsigned char pixels[][WID][DEP], const int dims[3], 
    double percentages[7], double radius)
    {
        double radians, distance, deg;
    
        for (int i = 0; i < HITE; i++) {
            for (int j = 0; j < WID; j++) {
    
                radians = get_theta(j, i, center);
                distance = get_distance_from_center(j, i, center, radians);
                deg = quadrant_converter(j, i, center, radians);
    
                if ( RADI < distance ) {
                    pixels[i][j][0] = 0;
                }
            }
        }
    }
    

    当我试图访问radi时,我得到了一个错误。

    1. 语法错误:')'
    2. 语法错误:在{之前缺少“;”
    3. “<”未使用表达式的结果
    4. 语言特性“if/switch中的init语句”需要编译器标志“/std:c++17”

    都在同一条线上

    请帮忙。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Stack Exchange Supports Israel    6 年前

    字面上的定义代替了左边的东西,右边的东西。

    所以当你写信的时候

    #define RADI 300.0;
    if ( RADI < distance )
    

    这和写作一样。

    if ( 300.0; < distance )
    

    有额外的 ; 在中间。删除 (二) 是的。

        2
  •  0
  •   MaxAttax    6 年前

    我需要删除标题后面的半冒号并定义声明。