在定义的函数中使用常量时出错

时间:2018-10-17 01:05:54

标签: c++ math compilation constants

我不是新手,但我可能在这里犯了新手错误。我正在编写代码,并且已经在程序顶部声明了一个常量。每当我尝试在定义的函数之一中使用该常量时,都会出现错误。

#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. '<'不使用表达式的结果
  5. 语言功能'if / switch中的初始化语句'需要编译器标志'/ std:c ++ 17'

全部在同一行

请帮助。

2 个答案:

答案 0 :(得分:1)

一个#define字面上替换了左边的东西,右边的东西。

所以当你写

#define RADI 300.0;
if ( RADI < distance )

与写作相同

if ( 300.0; < distance )

,中间有一个额外的;。删除;

答案 1 :(得分:0)

我需要删除标题后的分号并定义声明