下面的 C++ 代码有什么问题?

bor*_*ree -4 c++

我在阅读 c++ 入门时遇到了一个问题,我想知道下面的代码有什么问题

#include<iostream>

using namespace std;

class Nodefault
{
        int a;
public:
        Nodefault(int j):a(j){};
};

class c
{
        int a ;
public:
        c(int b ):a(b){};
        c(){};
        Nodefault n(5) ;
};

int main()
{
        c obj;

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么我无法在这里使用 Nodefault 类作为其成员创建类 c 的对象?

以下是编译器的错误:

错误:数字常量之前的预期标识符错误2.cpp:18:14:错误:数字常量之前的预期“,”或“...”

Wag*_*ota 5

你在错误的地方定义了 n 。

实际上,您还需要nc.

#include <iostream>

using namespace std;

class Nodefault
{
    int a;
public:
    Nodefault(int j):a(j){};
};

class c
{
    int a ;
public:
    c(int b ) : a(b), n(5) {};
    c() : n(5) {};
    Nodefault n;
};

int main()
{
    c obj;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)