2014-02-14 26 views
1

我对C++真的很陌生,所以如果它真的是一个愚蠢的问题,我很抱歉。 我想创建一个对象的狗,但它不会让我的名义传递到承包商 这里是代码在C++ Visual Studio 2012中创建类时出错

Main.cpp的

#include <iostream> 
#include <string> 
#include "Dog.h" 
int main(){ 
    std::string name = "Spike"; 
    Dog *dog = new Dog('Name', 2); 



} 

Dog.h

#include <string> 
class Dog { 
public : 
    std::string name; 
    int age; 
    Dog(std::string name , int age); 
};  

Dog.cpp

#include "Dog.h"; 
#include <string>; 

    Dog::Dog(std::string name, int age) 
    { 
     Dog::name = name; 
     Dog::age = age; 
    } 

回答

1

您所看到的错误是BEC ause是传递单引号的名称而不是较低的名称变量。这会给你错误。但也有其他的。

您正试图通过dog::name访问成员变量名称。这是不正确的使用dog.name

所以使用期间而不是双冒号。

注意:您也可以使用this->name = name

相关问题