gpt4 book ai didi

c++ - 通过类成员函数访问静态常量变量的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:12:17 27 4
gpt4 key购买 nike

我在访问类私有(private)成员变量部分中定义的静态常量变量时​​遇到问题。具体来说,下面编写的代码可以在构造函数中输出变量,但是当我尝试通过访问函数访问它时,会出现下面讨论的错误。如果有人知道原因,我将不胜感激。

#include <iostream>
using namespace std;

class TestStaticVariables
{
// Private member variable:
static const double static_double_variable;
public:
// Constructor:
TestStaticVariables()
{
// Initialization:
static const double static_double_variable = 20.0;
cout << static_double_variable;
}
// Member Function:
void test();
};

void TestStaticVariables::test()
{

当取消注释下一行时,我收到以下错误消息:

行定位工具:0:“TestStaticVariables::static_double_variable”,引用自:

 //cout << static_double_variable;
}

int main(int argc, char* const argv[])
{

TestStaticVariables test_instance;

return 0;
}

最佳答案

尝试在类定义之外初始化变量,这是一个工作示例:

#include <iostream>

class Foo {
static const double _bar;

public:
Foo();

void Bar();
};

const double Foo::_bar = 20.0;

Foo::Foo() {
std::cout << Foo::_bar << std::endl;
}

void Foo::Bar() {
std::cout << Foo::_bar << std::endl;
}

int main( int argc, char *argv[] ) {
Foo f;
f.Bar();

return 0;
}

关于c++ - 通过类成员函数访问静态常量变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/898387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com