在C ++ Visual Studio 2012中创建类时出错

时间:2014-02-14 06:53:55

标签: c++ visual-studio visual-studio-2012

我对C ++很陌生,所以如果它是一个非常愚蠢的问题,我很抱歉。 我正在尝试创建一个Object Dog但它不允许我将名称传递给承包商 这是代码

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;
    }

2 个答案:

答案 0 :(得分:1)

您看到的错误是因为您传递的是单引号Name而不是较低的cased name变量。这会给你错误。不过还有其他人。

您正尝试按dog::name访问成员变量名称。这是错误的使用dog.name

所以使用句号而不是双重结肠。

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

答案 1 :(得分:1)

您错误地使用了::。它用于访问类/结构或命名空间的静态变量和方法。

您正在尝试访问对象成员,使用.->

了解更多信息:When do I use a dot, arrow, or double colon to refer to members of a class in C++?