gpt4 book ai didi

c - 预期的声明说明符或 '...' token 之前的 '('?

转载 作者:太空狗 更新时间:2023-10-29 17:10:34 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

/// Global Variables
HANDLE ConsoleHandle;

int RGB (int R, int G, int B); // line 8
int Set_Color (int RGB_Fore, int RGB_Back);

int main (void)
{
// Get Handle
ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
char Str [32] = "Happy New Year.\n";
printf("%s", Str);
system("pause>nul");
return 0;
}

int RGB (int R, int G, int B) // line 21
{
return (R*4 + G*2 + B);
}

int Set_Color (int RGB_Fore, int RGB_Back)
{
SetConsoleTextAttribute(ConsoleHandle, RGB_Fore*8 + RGB_Back);
}

TDM-GCC 报告:

| line | Message
| 08 | error: expected declaration specifiers or '...' before '(' token
| 21 | error: expected declaration specifiers or '...' before '(' token

为什么?如何解决这个问题呢?谢谢

最佳答案

看起来像RGB是一个宏,如果您重命名该错误将消失的功能。此外,Set_Color 需要返回一个您已将其定义为返回一个 int 的值,但您在函数末尾没有返回任何内容。

如果您尝试使用 Set_Color 的值而没有显式返回,则为 undefined behavior根据 C99 草案标准部分 6.9.1 函数定义 段落 12:

If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined.

无论您是否尝试使用返回值,这在 C++ 中都是未定义

关于c - 预期的声明说明符或 '...' token 之前的 '('?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20860201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com