0

没有声明null?

我的代码:

// Include necessary libraries
#include <cstdlib> // Exits
#include <iostream> // I/O
#include <cstring> // String functions
using namespace std;

int main(int argc, char *argv[])
{
    //Declare local Constants and Variables
    const char SOKINP[19] = "23456789TtJjQqKkAa"; // Valid Input Characters
    char acCards [5]; // Array to hold up to five cards (user input)
    bool bErr;        // Loop on Error (Calculated)
    int  i,           // Loop variable (Calculated)
    iNbrCrd,          // Number of Cards 2-5 (user input)
    iNAces,           // Number of Aces (Calculated)
    iTS;              // Total Score (Calculated)

    ...

    for (i=0;i<iNbrCrd;i++){
       do {
           cout << "Enter Card #" << i << " (2-9,t,j,q,k or a)  >";
           cin  >> acCards[i];
           cout << endl;
           bErr = (strchr(SOKINP, acCards[i]) == null) ? true : false; // *ERROR*
       } while (bErr);
    }
    return EXIT_SUCCESS;
}

[错误] 'null' 未在此范围内声明

如何声明“空”?我尝试包括其他几个库。我正在使用 Dev C++ v5.4.2

谢谢,~d

4

2 回答 2

6

它不是nullNULL全部大写。如果编写NULL不起作用,您可以使用自己定义它

#define NULL 0
于 2013-09-29T04:47:11.087 回答
3

使用NULL而不是 Null。

如果您使用它来初始化指针并且您使用的是 C++11,请使用nullptr.

虽然NULL适用于分配指针(即使NULL不是指针类型而是整数),但在以下情况下您可能会遇到问题:

void func(int n);
void func(char *s);

func( NULL ); // guess which function gets called?

有关详细信息,请参阅

于 2013-09-29T04:51:03.360 回答