C++ 使用构造函数重新定义

C++ 使用构造函数重新定义,c++,constructor,redefinition,C++,Constructor,Redefinition,我不明白为什么我要重新定义来运行这个例子。有人能告诉我吗 using namespace std; class Base { protected: int *value; public: Base() { value = new int, *value = 1; }; Base(int &n) { value = new int[n];

我不明白为什么我要重新定义来运行这个例子。有人能告诉我吗

using namespace std;

class Base {
        protected: int *value;
        public: Base() { 
           value = new int, 
          *value = 1; 
        };
        Base(int &n) { 
            value = new int[n]; 
        }
};

int main() {
        int x=2;
        Base zm;
        Base(x);
        system("Pause");
}
Witaj Przemeku Na StackOverflow

这个怎么样?:

class Base {
        protected: int *value;
        public: 
        Base() { 
           value = new int, 
          *value = 1; 
        };
        Base(int &n) { 
            value = new int[n]; 
        };
};

int main()
{
        int x;
        x = 2;
        Base base;
        base = Base(x); <--- fix
        return 1;
}
类基{
受保护:int*值;
公众:
Base(){
值=新整数,
*数值=1;
};
基(int&n){
值=新整数[n];
};
};
int main()
{
int x;
x=2;
基地;
基数=基数(x);
Witaj Przemeku Na StackOverflow!

这个怎么样?:

class Base {
        protected: int *value;
        public: 
        Base() { 
           value = new int, 
          *value = 1; 
        };
        Base(int &n) { 
            value = new int[n]; 
        };
};

int main()
{
        int x;
        x = 2;
        Base base;
        base = Base(x); <--- fix
        return 1;
}
类基{
受保护:int*值;
公众:
Base(){
值=新整数,
*数值=1;
};
基(int&n){
值=新整数[n];
};
};
int main()
{
int x;
x=2;
基地;

基准=基准(x);应标记为
c++
,但我批准了一个挂起的编辑,但没有注意到该编辑丢失了。你到底得到了什么错误?我有错误-重新定义,不同的基本类型,但Piotr Dajlido有帮助。应标记为
c++
,但我批准了一个挂起的编辑,但没有注意到该编辑丢失了。你知道确切的错误是什么你得到了吗?我有错误-重新定义,不同的基本类型,但Piotr Dajlido帮助了。应该标记为
c++
,但有一个我批准的悬而未决的编辑,但没有注意到它丢失了。你到底得到了什么错误?我有错误-重新定义,不同的基本类型,但Piotr Dajlido帮助了。