C ++:在另一个类中调用静态方法会导致“未解析的外部符号”

时间:2016-03-12 20:50:32

标签: c++ visual-studio static

我花了一天时间在线查看类似的错误,但我仍然无法理解它如何应用于我的项目。

我会发布该程序的全班简化版。

我有一个带有一些静态方法的头文件:

#pragma once

class A {
public:
    static void function_a1(float &var_1);
    static void function_a2(float &var_1);
}

我还有一个定义方法的.cpp文件:

#include "A.h"

void A::function_a1(float &var_1) {
    ...
}

void A::function_a2(float &var_1) {
    ...
}

这些函数用于修改我发送的变量。 我试图在main.cpp文件中调用它们:

#include "A.h"

using namespace std;

void main() {
    float x = 1.0f;
    float y = 2.4f;

    A::function_a1(x);
    A::function_a2(y);
}

但这不会构建,而是告诉我A::function_a1(&float)A::function_a2(&float)是未解析的外部符号。我不习惯C ++,所以我使用静态错误吗?我该如何解决这个问题?

我肯定是通过正确的变量发送 - A.h中的函数曾经在我的main.cpp中,我试图将它们移到一个单独的文件中。

我看到帖子说这是“重复”,但我无法弄清楚如何将这些答案应用于我的问题。

0 个答案:

没有答案
相关问题