链接器找不到C ++静态成员

时间:2016-02-15 19:09:38

标签: c++

当我用X代码编写简单的C ++代码时,它会显示链接器错误。

架构x86_64的未定义符号:   “Emp :: id”,引自:       main.o中的Emp :: Emp() ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

<select name="select">
    <option value="">Choose a value</option>
    <option value="">-----------------------</option>
    <option value="Evaluator">Evaluator</option>
    <option value="Commentator">Commentator</option>
    <option value="Explorer">Explorer</option>
</select>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">
$('select[name=select]').on('change', function() {
    var chosen_val = $(this).val();
    if (chosen_val) {
        alert('Hey there you have selected ' + chosen_val);
    }
});
</script>

1 个答案:

答案 0 :(得分:1)

您已将id声明为静态变量。然后在每个构造函数调用中设置它,这可能不是你想要做的。

对于&#39;修复&#39;,您可以在主广告上方添加以下行:

int Emp::id = 0;

但是,您可能不希望它是静态的。有关静态类变量的更多信息,请参阅this page