小编Mat*_*tin的帖子

在C#中使用"value"作为标识符

在编写简短的辅助函数时,我经常发现自己想要使用变量标识符"value"作为参数.当我这样做时,似乎Visual Studio编译这个很好,并且没有任何抱怨:

public void MyMethod(int value, bool option, string message)
{
    value = 1;
    // More code...
}
Run Code Online (Sandbox Code Playgroud)

但是,Visual Studio会在下面抱怨(正如预期的那样):

private int _myProperty;
public int MyProperty
{
    get
    {
        return _myProperty;
    }
    set
    {
        int value = 0;
        _myProperty = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

这使我相信"​​值"被视为关键字(或不是),具体取决于上下文.我是C#的新手,据我所知,我没有在其他语言中看到特定于上下文的关键字.

问题: 在属性设置器之外使用"value"作为变量名是否总是安全的?如果没有,何时可以安全地完成?而且,这通常被认为是不好的做法吗?

我很惊讶我无法在SO上找到这个问题,我怀疑有人之前曾问过这个问题.但是,搜索很困难,因为标题中有很多帖子有"变量"和"标识符".我无法在MSDN上找到有关此信息.

编辑:最后一个问题是要询问它是否经常通常不赞成.它已经改变以反映这一点.

c#

29
推荐指数
3
解决办法
2182
查看次数

在路径:windows中找不到Eclipse g ++

我试图在Windows 7上使用Eclipse为C++设置SDL2.

为了做到这一点,我正在按照此链接中的教程进行操作,该链接指出我必须首先安装MinGW.所以我按照提供的链接来设置MinGW.我毫无问题地遵循所有步骤.然后我打开Eclipse并尝试构建一个简单的hello world程序:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello World!" << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,这个代码没有构建,有6个错误.

然后我继续进一步简化程序:

int main()
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这也不编译.有两个错误:

  1. 在PATH中找不到程序"g ++"
  2. 在PATH中找不到程序"gcc"

这是一个截图. 构建错误

但是,我的路径确实包含"C:\ mingw\bin".我也尝试将其更改为"C:\ mingw".在里面看"C:\ mingw\bin",我找到了gcc和g ++:mingw\bin中的gcc和g ++

此外,使用命令行(g ++ Test.cpp -o Test)编译测试程序的工作正常,"g ++ -v"也是如此.

我一直在网上搜索几个小时,似乎无法找到答案为什么Eclipse似乎无法用MinGW编译任何东西.我在SO上看到的问题(无法解决我的问题)包括:

  1. 找不到Eclipse mingw二进制文件
  2. Eclipse没有找到c std库
  3. 在路径中找不到g ++
  4. Eclipse C++:"在PATH中找不到程序g ++"
  5. 在路径中找不到程序g ++
  6. 在路径C++中找不到程序g ++ [重复]
  7. Win7中的Eclipse CDT(Juno):在PATH中找不到g ++,iostream未解析和其他有趣的东西

附加信息: 窗口>首选项> C/C++>构建>设置>"CDT GCC内置编译器设置MinGW [共享]":在此系统上未检测到工具链MinGW GCC.

我也重新安装了Eclipse无济于事.

我意识到这可能是我所链接的一些重复问题,但之前问题中的信息无法解决我的问题,我担心在旧问题上添加评论可能不会得到答案. …

c++ eclipse windows g++ windows-7

5
推荐指数
2
解决办法
3万
查看次数

OpenGL GLFW:对'glfwInit'的未定义引用

我知道这个问题已经被问很多在计算器上和其他网站上的时间; 在查看了这些资源后,我仍然茫然。

我只是想让GLFW在我的机器(Windows 7 64位)上使用OpenGL。

我遇到的问题与其他许多问题一样:我收到单个链接器错误:“未定义对'glfwInit'的引用。” 我尝试编译的代码是最简单的(在文件Test.cpp中)。

#include <iostream>
#include <GLFW/glfw3.h>
int main()
{
    std::cout << "hello world" << std::endl;
    glfwInit();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用一个简单的Makefile尝试进行编译:

Test: Test.o
    g++ -o Test  -L./lib -lglew32 -lglfw3 -lopengl32 -lglu32 -lgdi32 Test.o

Test.o: Test.cpp
    g++ -I./include -c Test.cpp
Run Code Online (Sandbox Code Playgroud)

附加信息:
*使用g ++进行编译(MinGW32)
* lib文件夹包含glfw3.dll,libglfw3.a和libglfw3dll.a(从GLFW网站下载的Win32版本-Windows预编译的库)
*包含文件夹包含一个名为的文件夹GLFW,其中包含glfw3.h和glfw3native.h(来自下载的GLFW-包含文件夹)

我尝试过:
*使用GLFW的64位版本
*使用IDE(Eclipse,VS)
* GLFW未定义引用中的
建议* 什么是未定义引用/未解决的外部符号错误以及如何解决它中的建议?(交换链接参数顺序)
*在OpenGL中使用Eclipse CDT + MinGW + GLEW + GLFW的建议:未定义的引用
*尝试使用CMake自己编译库,但看不到在其中创建的任何.a,.lib或.dll文件过程。

请让我知道其他信息是否有帮助。

c++ opengl mingw glfw

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×2

c# ×1

eclipse ×1

g++ ×1

glfw ×1

mingw ×1

opengl ×1

windows ×1

windows-7 ×1