2014-02-14 76 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

相關問題