Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ PDC课程TUI C和x2B+;Win32控制台应用程序-访问冲突读取位置_C++_C_Pdcurses - Fatal编程技术网

C++ PDC课程TUI C和x2B+;Win32控制台应用程序-访问冲突读取位置

C++ PDC课程TUI C和x2B+;Win32控制台应用程序-访问冲突读取位置,c++,c,pdcurses,C++,C,Pdcurses,我已经下载了源代码,并且能够成功地在我的项目中包含curses.h,链接了预编译的库,并且一切都很好 在试用了几个小时后,我在demos文件夹中看到了tuidemo.c,并将其编译成一个可执行文件,非常棒!这正是我的项目所需要的 现在问题是C代码,我正在VS C++ 2008中开发C++项目。 我需要的文件是tui.c和tui.h 我如何将C++文件包含在C++代码中?我看到 但是编译器对100个警告和错误不太满意 我如何继续包括/使用TUI PDCCourses包含的内容 谢谢 编辑: 我添加

我已经下载了源代码,并且能够成功地在我的项目中包含curses.h,链接了预编译的库,并且一切都很好

在试用了几个小时后,我在demos文件夹中看到了tuidemo.c,并将其编译成一个可执行文件,非常棒!这正是我的项目所需要的

现在问题是C代码,我正在VS C++ 2008中开发C++项目。 我需要的文件是tui.c和tui.h 我如何将C++文件包含在C++代码中?我看到

但是编译器对100个警告和错误不太满意

我如何继续包括/使用TUI PDCCourses包含的内容

谢谢

编辑:

我添加了extern“C”语句,所以我的测试现在看起来像这样,但我得到了一些其他类型的错误

#include <stdio.h>
#include <stdlib.h>
using namespace std;

extern "C" {
   #include <tui.h>
}

void sub0()
{
    //do nothing
}

void sub1()
{
    //do nothing
}


int main (int argc, char * const argv[]) {

    menu MainMenu[] =
    {
        { "Asub", sub0, "Go inside first submenu" },
        { "Bsub", sub1, "Go inside second submenu" },
        { "", (FUNC)0, "" }   /* always add this as the last item! */
    };
    startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");

    return 0;
}
排队

startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");
不知道从这里到哪里去。
再次感谢。

如果我没有弄错的话(我很容易弄错),那是因为C/C++调用约定的不同。尝试让回调“C”,并使它们调用C++函数。称之为蹦床:)

终于让它工作了。解决方案包括以下步骤:

首先,我将tui.c重命名为tui.cpp

对于标题tui.h,我遵循了与前面描述的完全相同的包装代码的步骤

然后在我的项目中,我只包含了没有任何外部“C”块的标题


编译成功了

你把tui.c改名为tui.cpp了吗?如果是这样,不要这样做-编译器需要知道它是一个C源文件。除此之外,请发布您收到的错误消息的示例。
startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");
#include "tui.h"