相关疑难解决方法(0)

C++:编译器和链接器功能

我想确切地了解程序编译器的哪个部分以及链接器所关注的内容.所以我写了下面的代码:

#include <iostream>
using namespace std;
#include <string>

class Test {
private:
    int i;

public:
    Test(int val) {i=val ;}
    void DefinedCorrectFunction(int val);
    void DefinedIncorrectFunction(int val);
    void NonDefinedFunction(int val);

    template <class paramType>
    void  FunctionTemplate (paramType val) { i = val }
};

void Test::DefinedCorrectFunction(int val)
{
    i = val;
}

void Test::DefinedIncorrectFunction(int val)
{
    i = val
}

void main()
{
    Test testObject(1);
    //testObject.NonDefinedFunction(2);
    //testObject.FunctionTemplate<int>(2);

}
Run Code Online (Sandbox Code Playgroud)

我有三个功能:

  • DefinedCorrectFunction - 这是正确声明和定义的普通函数.
  • DefinedIncorrectFunction - 此函数声明正确但实现错误(缺少;)
  • NonDefinedFunction - 仅声明.没有定义.
  • FunctionTemplate - 功能模板.

    现在如果我编译这段代码,我会在DefinedIncorrectFunction中找到缺少';'的编译器错误.
    假设我修复此问题然后注释掉testObject.NonDefinedFunction(2).现在我收到链接器错误.现在注释掉testObject.FunctionTemplate(2).现在我收到了缺少';'的编译器错误. …

c++ compiler-construction linker

5
推荐指数
1
解决办法
2804
查看次数

标签 统计

c++ ×1

compiler-construction ×1

linker ×1