Turbo C++上的代码编译失败

Code compilation fails on Turbo C++

本文关键字:编译 失败 代码 C++ Turbo      更新时间:2023-10-16

我的代码在VS Studio 2010 b中运行良好,但作为大学演示的一部分,我必须在Turbo C++上演示它。相同的代码会产生编译错误,比如声明语法,类型限定符必须是结构或类。我知道Turbo C++现在有点过时了,但不知怎么的,我将不得不接受它。所以我请求这里的所有专家为我提供建议,让它在中发挥作用

#include <iostream.h>
//using namespace std;
class cSample
{
private:
    static const char *list1[];
    static const char *list2[];
public:
    cSample();
    const char **GetList(int);
    bool IsSampleWorking();
};
bool cSample::IsSampleWorking()
{
    return true;
}
cSample::cSample()
{
}
const char *cSample::list1[] = {"Item1" , "Item2" , "Item3" , NULL};
const char *cSample::list2[] = {"Item4" ,"Item5" ,"Item6" , NULL};
const char **cSample::GetList(int i)
{
    switch(i)
    {
    case 1:
        return cSample::list1;
        break;
    case 2:
        return cSample::list2;
        break;
    default:
        break;
    }
}
int main(int argc , const char *argv[])
{
    cSample *oSample = new cSample();
    const char**list1Item = oSample->GetList(1);
    cout << "Items from List1 " << endl; 
    while(*list1Item != NULL)
    {
        cout << *list1Item << endl;
        list1Item++;
    }
    const char **list2Item = oSample->GetList(2);
    cout << "Items from list2" << endl;
    while(*list2Item != NULL)
    {
        cout << *list2Item << endl;
        list2Item++;
    }
    return 0;
}

第14行-缺少声明,应为类型名称第17行-声明语法错误

编译器不将bool视为一种类型。

选项1

typedef int bool;
#define true 1
#define false 0

选项2

typedef enum { false, true } bool;