gpt4 book ai didi

c - 使用任何IDE在C中不断出现标识符未定义错误

转载 作者:行者123 更新时间:2023-11-30 16:15:35 25 4
gpt4 key购买 nike

这是我的第一篇文章。我正在准备一些即将到来的大学编程类(class),其中一门涉及 C。我已经自学了一段时间,以前从未遇到过这个问题,尽管我使用了相同的代码。我在使用的任何 IDE(MS Visual Studio 2019 和 Codeblocks,16.01 和 17.12)上都遇到了这个问题。

问题是当我尝试包含内联函数时,编译器会出现错误:标识符“keep_window_open”未定义,以及错误:“keep_window_open”:找不到标识符。

直到我将 Codeblocks 从 16.01 升级到 17.12 之前,这种情况从未发生过,因此导致人们相信编译器或某些我不知道的设置或如何更改发生了某些情况。

我尝试返回到 Codeblocks 16.01,但仍然遇到相同的错误。我以前的所有程序都使用完全相同的代码仍然可以编译和运行,所以我感到迷失和完全沮丧。足以考虑改变我的专业,我真的不想这样做。我喜欢编程。但这个问题快要了我的命。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
inline void keep_window_open() { char ch; scanf("%s", ch); }
int main()
{
printf ("Lets see if this stupid thing works\n");
keep_Window_open();
return 0;
}

问题出在代码行上:keep_Window_open();如果我将其注释掉,程序将编译并运行,但是我看不到它,因为它所做的只是闪烁,然后关闭控制台窗口。我需要使用此代码来查看输出窗口。正如我所说,我在许多其他程序中使用了这段代码,其中大多数比这复杂得多,并且它们仍然可以编译和运行。我只尝试创建新项目。

我希望窗口保持打开状态,直到用户按下并输入一个键,就像以前一样。我被困住了,希望能得到一些关于如何继续的建议,而不是把自己扔到公交车前。

最佳答案

好的,我能够在 CodeBlocks 中解决该问题,但无法在 Visual Studio 中解决。我更改了代码,将内联函数置于主函数下方,现在在 CodeBlocks (17.12) 中编译和运行时,它的工作方式与它应该的方式完全一样,或者我认为它应该如何工作。

但是,当我在 Visual Studio 中尝试相同的解决方案时,将内联函数放在主函数下方后,我现在收到一个新错误:

'keep_window_open'重新定义基本类型

由于我通常使用 CodeBlocks for C、Visual Studio for C++ 和 intellij for java,所以我不会担心这个,只要它在 CodeBlocks 中工作就应该没问题。但是我很好奇为什么它在一个 IDE 中工作而在另一个 IDE 中不起作用?

我对编程很陌生,有很多东西需要学习,而且我对编译器和链接器几乎一无所知,因为我专注于几种不同语言的编程技术和语法。

关于c - 使用任何IDE在C中不断出现标识符未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57030051/

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